首頁技術文章正文

如何入門自動化測試?五種Python自動化測試框架

更新時間:2021-05-21 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

好多人說自動化沒有那么神奇,不要被神話,我想說一個概念,功能測試的天花板就是15k,自動化入行是15k的薪資。你可以說自動化技術被神話了,如果不想被天花板限制,大家還是要學習自動化。


自動化測試是為了節(jié)約時間成本和人力成本進行的,本來就是和手工測試相輔相成的。

自動化主要的知識點就三項:

(1)自動化測試框架

(2)自動化測試腳本集

(3)豐富的自動化測試工具


本文我們主要是匯總了現(xiàn)在比較流行常用的自動化測試框架。

常用的Python自動化測試框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。軟件測試的自動化在預設條件下運行系統(tǒng)或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。自動化測試以人為驅動的測試行為轉化為機器執(zhí)行的一種過程。


(1)Robot Framework

說白一點就是可以支持跨平臺、多種應用測試??梢约嫒荩簑indos、MacOS、Linux等平臺。

推薦使用Python3.6.4確保適當的注釋能夠被添加到diamagnetic中,并且可以跟蹤更改。需要安裝Python包管理器—pip。


學習的內容:

關鍵字、資源Resource、庫Robot支持很多庫,分為內置外置的。Python、Java攜程的文件都可以;用例(多個關鍵字組合,順序或者分支控制等組成的文件為Case);

1621587595367_自動化測試11.jpg

(2)Pytest

官方文檔介紹:

Pytest is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate 
code required. Get started in minutes with a small unit test or complex functional test for your application or library.

適用于多種軟件測試的Pytest是另一個python類型的自動化測試框架。憑借著其開源和易學的特點該工具經常被QA團隊、開發(fā)團隊、個人團隊、以及各種開源項目所使用。鑒于Pytest具有“斷言重寫”之類的實用功能許多大型互聯(lián)網應用。


使用先決條件:除了基本的Python知識用戶并不需要更多的技術儲備。另外用戶只需要有一臺帶有命令行界面的測試設備,并安裝好了Python包管理器、以及可用于開發(fā)的IDE工具。


建議大家找漢化版的官方文檔作為參考。除了安裝和配置 之外,要學習的就是斷言。在鞋代碼的時候,我們會做一些假設,斷言就是用于在代碼中捕捉這些假設。

(3)UnitTest/PyUnit

Pytest和UnitTest是經常被人拿出來做比較的。


pytest是python的第三方測試框架,是基于unittest的擴展框架,比unittest更簡潔,更高效。使用pytest編寫用例,必須遵守以下規(guī)則:


1.測試文件名必須以“test_”開頭(如:test_ab.py)

2.測試方法必須以“test_”開頭這里很明顯,編寫測試用例的方法pytest就比unittest簡單很多。


UnitTest/PyUnit是一種標準化的針對單元測試的Python類自動化測試框架?;怲estCase提供了各種斷言方法、以及所有清理和設置的例程。因此TestCase子類中的每一種方法都是以“test”作為名詞前綴,以標識它們能夠被作為測試用例所運行。用戶可以使用load方法和TestSuite類來分組、并加載各種測試。也可以通過聯(lián)合使用來構建自定義的測試運行器。正如我們使用Junit去測試Selenium那樣,UnitTest也會用到UnitTest-sml-reporting、并能生成各種XML類型的報告。


使用先決條件:由于UnitTest默認使用了Python,因此我們并不需要什么先決條件。除了需要具備Python框架的基本知識,也可以額外地安裝pip、以及用于開發(fā)的IDE工具。


UnitTest編寫Python單元測試代碼,包括下面幾個步驟,也就是我們應該學習的步驟。


寫一個Python類,繼承unittest模塊中的testcase類,在編寫測試類中定義測試方法(測試用例),在測試方法中調用被測試代碼,校驗測試結果。TsetCase類中提供了很懂校驗的方法,最常見的就是assertEqual;


(4)Behave

行為驅動開發(fā)(behavior-driven development,BDD),是一種基于敏捷軟件開發(fā)的方法。它能夠鼓勵開發(fā)人員、業(yè)務參與者和QA人員,三者之間的協(xié)作。**作為另一種Python測試框架,Behave允許團隊避開各種復雜的情況,去執(zhí)行BDD測試。從本質上說,該框架與SpecFlow和Cucumber非常相似,常被用于執(zhí)行自動化測試。**用戶可以通過簡單易讀的語言來編寫測試用例,并能夠在其執(zhí)行期間粘貼到代碼之中。而且,那些被設定的行為規(guī)范與步驟,也可以被重用到其他的測試方案中。


使用先決條件:**任何具備Python基礎知識的人都可以使用Behave。其他先決條件還包括:必須先安裝Python 2.7.14及以上的版本。**需要通過Python包管理器或pip來與Behave協(xié)作。大多數開發(fā)人員會選擇Pycharm作為開發(fā)環(huán)境,當然也可以選用其他的IDE工具。


(5)Lettuce

Lettuce是另一種基于Cucumber和Python的行為驅動類自動化工具。Lettuce主要專注于那些具有行為驅動開發(fā)特征的普通任務。它不但簡單易用,而且能夠使得整個測試過程更流暢、甚至更有趣。


使用先決條件:**需要安裝帶有IDE的Python 2.7.14、及以上的版本。**當然,也可以使用Pycharm或任何其他IDE工具。同時,還需要安裝Python包管理器。


五種自動化測試的Python框架中Pytest、Robot Framework和UnitTest可主要用于功能與單元測試,而Lettuce和Behave僅適用于行為驅動測試。






猜你喜歡:

怎么配置Spring容器中的Bean?【java培訓】

自動化測試流程是什么?【圖解自動化測試流程】

什么樣的項目適合實現(xiàn)自動化測試?

黑馬程序員軟件測試培訓

分享到:
在線咨詢 我要報名
和我們在線交談!