Python自動化測試框架有哪些?

Python自動化測試框架有哪些?

作者 | KITTY GUPTA

譯者 | 張健欣

令開發者萬分高興的是,開發自己的測試框架的日子終于結束了。以前,開發團隊接手一個項目并開始開發時,除了項目模塊的實際開發之外,他們不得不為這個項目構建一個自動化測試框架。一個測試框架應該具有最佳的測試用例、假設(assumptions)、腳本和技術來運行每一處代碼和模塊,從而發現代碼缺陷和不足。不同的項目需要不同的測試用例、假設和腳本,而這也是為什么會在這些開發中花費大量時間。

隨著技術的進步和自動化技術的出現,市面上出現了一些自動化測試框架,你可以使用這些框架,在調整特定測試適用性和效率參數后,測試你項目的任何模塊。這節省了時間,而且由于這些框架被廣泛使用,它們非常穩健,具有廣泛多樣的用例集和技術來輕易發現微小的缺陷。今天,我們將看一看可用的 Python 自動化測試框架。

Robot Framework

Robot Framework 是最流行的 Python 自動化測試框架。它是完全用 Python 開發的,對于驗收測試非常有用。這個框架可以運行在 Java 和.NET 環境。它還支持跨平臺,例如 Windows、MacOS 和 Linux。這個產品是由世界上一些著名的測試人員創建的,擁有關鍵詞驅動方案。它有如此多可用的工具和庫,使得這個框架非常先進和健壯。

它是一個開源框架,并且留有 API 擴展空間。表格式的測試數據語法和關鍵詞驅動測試使得它在全球的測試人員中非常流行。它無疑是最易用的自動化測試框架,并且允許你進行并行測試。

http://robotframework.org/

RedwoodHQ

RedwoodHQ 是一個流行的自動化測試工具,它的流行是由于大部分流行的編程語言都可以用來編寫測試,例如 Java、Python、C# 和 likewise。它有一個網站界面,在那里多個測試人員可以在一個平臺上協作和運行測試用例。在 RedwoodHQ 中出現的 action 關鍵字可以用來毫不費力地創建和修改測試用例。你所需要做的只是找到你需要的 action,將它拖到你的測試盒中,然后輸入參數并改變它們的值來生成一份完整的測試報告。它有一個內置的 IDE(集成開發環境),你可以在那里創建和修改測試用例,并且并行運行它們。它是對用戶最友好或對測試人員最友好的平臺之一,它關注一個重大項目的全部測試過程。

http://redwoodhq.com/

Jasmine

Jasmine 對于 JavaScript 單元測試使用行為驅動開發框架。它適用于任何使用 JavaScript 的地方。除了 JavaScript 之外,它還被用于 Python 和 Ruby 自動化測試。因此,它使得你可以并行運行客戶端測試用例和服務端測試用例。它是一個將客戶端和服務端單元測試結合起來的完美的測試框架,而且被認為是測試領域的未來。它現成可用,除了需要一個名為 Karma 的測試運行器之外,不需要其它外部依賴。

https://jasmine.github.io/

Pytest

如果你的項目比較小、復雜度比較低,Pytest 是最適合的自動化測試平臺。非常多的 Python 開發者都喜歡它,他們大部分用它來進行單元測試。它也具有 Robot Framework 所聞名的驗收測試能力。Pytest 最好的特性之一是,它提供了測試用例的詳細失敗信息,使得開發者可以快速準確地改正問題。它兼容最新版本的 Python。它還兼容 unittest、doctest 和 nose,開箱即用。它還有包含更多功能的插件和多樣化的現有測試技術和測試用例。事實上,有 300 多個可用插件來自它的活躍社區。該平臺設計用于編寫更簡單錯誤率更小的代碼。你可以將 Pytest 與諸如 Selenium 和 Splinter 之類的圖形用戶界面一起使用,來使得測試工作更輕松。

http://pytest.org/latest/

結 論

對于任何編程語言來說,都沒有絕對理想的測試框架。它取決于開發者的舒適度、項目需求和項目中特定模塊所需的測試類型。可用的自動化測試框架有線性自動化、基于模塊的測試、函數庫框架測試、混合測試、關鍵詞驅動和數據驅動測試等。每個框架都有它的優點和缺點。上面列舉的 python 框架是性能最全面的自動化測試框架。

英文原文

https://www.freelancinggig.com/blog/2018/04/20/python-frameworks-available-test-automation/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253620.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253620.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253620.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試題——4種數組去重的方法

數組去重或者其衍生作為筆試題或者機試題出現的幾率也是很大的,寫出的方法越多,則讓面試官覺得你思維越開闊,那么成功的幾率當然就大了。 廢話不多說,下面來說說下面我整理的4中數組去重的方法 方法一: findInArr方法s…

MFc消息映射機制理解

何謂消息、消息處理函數、消息映射?消息簡單的說就是指通過輸入設備向程序發出指令要執行某個操作。具體的某個操作是你的一系列代碼。稱為消息處理函數。在SDK中消息其實非常容易理解,當窗口建立后便會有一個函數(窗口處理函數)開…

Effective C++ 條款11:在operator=中處理自我賦值

”自我賦值”發生在對象被賦值給自己時: class Widget { ... }; Widget w; ... w w; // 賦值給自己 a[i] a[j]; // 潛在的自我賦值 *px *py; // 潛在的自我賦值class Base { ... }; class Derived: public Base { ... }; void doS…

Demosaic算法學習

一、概述 由于成本和面積等因素的限定,CMOS圖像傳感器在成像時,感光面陣列前通常會有CFA (color filter array),CFA過濾不同頻段的光,因此,Sensor的輸出的RAW數據信號包含了3個通道的信息。 CFA的排列方式一般有以下幾種: 現在應用最廣泛的是Bayer CFA。…

Sql Server中查詢當天,最近三天,本周,本月,最近一個月,本季度的數據的sql語句...

--當天&#xff1a;select * from T_news where datediff(day,addtime,getdate())0--最近三天&#xff1a;select * from T_news where datediff(day,addtime,getdate())< 2 and datediff(day,addtime,getdate())> 0--本周&#xff1a;select * from T_news WHERE (DATEP…

linux設備驅動歸納總結(五):3.操作硬件——IO靜態映射【轉】

本文轉載自&#xff1a;http://blog.chinaunix.net/uid-25014876-id-83299.html linux設備驅動歸納總結&#xff08;五&#xff09;&#xff1a;3.操作硬件——IO靜態映射 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 有時候會覺…

UML中關聯,聚合,組合的區別及C++實現

類間關系 在類圖中&#xff0c;除了需要描述單獨的類的名稱、屬性和操作外&#xff0c;我們還需要描述類之間的聯系&#xff0c;因為沒有類是單獨存在的&#xff0c;它們通常需要和別的類協作&#xff0c;創造比單獨工作更大的語義。在UML類圖中&#xff0c;關系用類框之間的連…

sql server management studio 快速折疊object explorer中的instance

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6e20fa7a-c0a9-496b-89b2-19c6bd996ffc/how-to-collapse-object-explorer-tree-in-management-studio?forumsqltools home鍵&#xff0c;回到top level。 然后F5刷新&#xff0c;就會自動折疊了轉載于:https://www.…

自動白平衡算法學習

一、概述 1、顏色恒常性 首先,從色彩學的角度,自然界中的任一種顏色都可以用紅、綠、藍三種顏色混合而成,因此這三種顏色被做為最常用的三原色,即RGB 三原色。 其次,眼睛對于色彩的察覺是由于光照射在物體之上,物體會吸收一部分波長的光,而其被物體反射的那部分波長的光…

自動曝光算法學習

一、概述 在一個完整的成像系統中,所得圖像的亮度由四個方面因素所決定:環境光照強度、相機的光圈大小、曝光時間、信號增益。從這四個因素可以看出,首先環境光照強度是由外界環境光照所決定的,達不到人為任意控制;因此想要調整圖像亮度至合適的程度,需要考慮對光圈大小、…

cocos2d-x 幀動畫

ani cc.Animation:create(); ...... local animate cc.Animate:create(ani); s:runAction(animate); 發現一個問題&#xff0c;s如果是Node實例話就報錯了&#xff0c;s必須是Sprite實例。轉載于:https://www.cnblogs.com/qianwang/p/6249720.html

編寫一個簡單的spring MVC程序

一、下載和安裝spring框架 進入http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.0.RELEASE/下載一個spring框架&#xff0c;然后打開lib目錄里的jar文件拷貝到項目的WEB-INF/lib目錄下。 二、配置web.xml文件 ?1234567891011121314151617181…

DM368 Uboot

這三個參數均有UBOOT直接傳遞給內核&#xff0c;所以要想知道他們具體的作用&#xff0c;需要根系內核模塊的結構。 dm365_imp.oper_mode 是指在內核模塊中內存空間采用連續、或者不連續模式。 davinci_capture.device_type 是你的捕獲設備的…

7. B+樹

一、B樹是應文件系統所需而產生的一種B樹的變形樹 1. 定義&#xff08;使用階數m來定義&#xff09; 除了根結點外&#xff0c;其他非終端結點最多有m個關鍵字&#xff0c;最少有?m/2?個關鍵字結點中的每個關鍵字對應一個子樹所有的非終端結點可以看成是索引部分&#xff0c;…

Retinex理論及算法學習

為了能夠獲取最大的信息量,達到更好的圖像增強效果。了解人類視覺系統的特性和圖像的屬性是準確地選擇圖像增強方法的必備知識。 一、人眼視覺系統 1、人眼成像 人的眼睛是一個非常復雜的器官。一般來說它就是一個球體,平均直徑約為20mm,內壁是一層視網膜(retina),前部…

js或css文件后面的參數是什么意思?

經常看到不少導航網站測樣式或js文件后面加了一些參數&#xff0c;主要是一你為一些并不經常更新的頁面重新加載新修改的文件。 經常遇到頁面里加載的js與css文件帶有參數&#xff0c;比如&#xff1a; <script type"text/javascript" src"jb51.js?version1…

TCP/IP協議與UDP協議的區別

首先咱們弄清楚&#xff0c;TCP協議和UCP協議與TCP/IP協議的聯系&#xff0c;很多人犯糊涂了&#xff0c;一直都是說TCP/IP協議與UDP協議的區別&#xff0c;我覺得這是沒有從本質上弄清楚網絡通信&#xff01;TCP/IP協議是一個協議簇。里面包括很多協議的。UDP只是其中的一個。…

C++類靜態成員與類靜態成員函數

當將類的某個數據成員聲明為static時&#xff0c;該靜態數據成員只能被定義一次&#xff0c;而且要被同類的所有對象共享。各個對象都擁有類中每一個普通數據成員的副本&#xff0c;但靜態數據成員只有一個實例存在&#xff0c;與定義了多少類對象無關。靜態方法就是與該類相關…

HDR 成像技術學習(一)

在描述一個場景的時候,動態范圍(Dynamic Range)指的是其最亮部與最暗部的亮度比值。高動態范圍的場景(High Dynamic Range Scene)指的是場景里同時存在非常明亮和非常暗淡的部分。 圖像傳感器所能捕捉的動態范圍是有限的,它受到兩個因素的限制,一個是滿阱容量(Full Wel…

Linux編程 3 (初識bash shell與man查看手冊)

一.初識bash shell 1.1 啟動 shell GNU bash shell 能提供對Linux系統的交互式訪問。通常是在用戶登錄終端時啟動&#xff0c;登錄時系統啟動shell依賴于用戶賬戶的配置。etc/passwd文件包含了所有系統用戶列表以及每個用戶的基本配置信息。      如上圖:最后一個字段&…