出處:
前言:python鄙視鏈:pytest 鄙視 > unittest 鄙視 > robotframework 鄙視 > 記流水賬 鄙視 > "hello world"小白
所以,讓我們一起學習pytest吧。
pytest簡介:
pytest是python的一種單元測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,效率更高。根據pytest的官方**介紹,它具有如下特點:
一、pytest安裝:
2. pip show pytest檢視安裝版本
3. 也可以pytest -version檢視安裝的版本
二、快速入手
----執行第乙個簡單的函式
ok,如上環境安裝成功了。下面通過具體的案例來入手吧。我們先編寫乙個簡單的函式,通過pytest執行或者pytest -q 指令碼名,指定指令碼來執行。
從上面的截圖可以看出,第乙個執行斷言失敗,第二個執行斷言成功。
----執行多個函式
在乙個包中,或者說乙個模組的檔案中,它是有多個檔案的,比如乙個包中,pytest它是執行多個以test開頭的模組指令碼,我們先來看這種情況,在乙個包中定義兩個模組指令碼,分別是test_first.py和test_second.py,如下圖:
----執行類中的函式
通過執行pytest可以執行模組中的函式或者類中的方法,那麼我們就來實現執行類中的測試函式,如下圖:
-------踩坑了。在之後的學習中,發現test_class.py這個指令碼中的類函式無法使用setup_class和teardown_class。原因是以上的**其實是unittest的指令碼,搞混了。下面更改乙個pytest呼叫類函式的指令碼。
三、總結
通過以上的三個練習,我們大致了解pytest的用例規則了吧。
1. 測試指令碼名以test_開頭(或以_test結尾也可以)
2. 測試指令碼中若是執行函式,以test_開頭
3. 測試指令碼中若是執行乙個類中的函式,測試類以test開頭,並且不能帶有init方法
4. 斷言使用assert
5. 執行檔案下所有的測試指令碼,命令為pytest【cd到對應檔案下執行】 或者 pytest 檔名/
6. 執行檔案下指定的測試指令碼,命令為pytest -q 指定測試指令碼名稱【cd到對應檔案下執行】 或者 pytest 檔名/指令碼名
敲黑板:
pytest -s 指令碼名 用例執行詳細情況
pytest -x 指令碼名 遇到錯誤時停止測試
pytest --maxfail= num 當用例錯誤個數達到指定數量時,停止測試
pytest -h 檢視pytest幫助
robot介面自動化測試環境搭建
統一版本以免出錯 安裝檔案版本如下 python2.7.13 wxpython2.8 win64 unicode 2.8.12.1 py27 robotframework 2.8.7 robotframework ride 1.5.2.1 robotframework selenium2librar...
pytest 實現介面自動化的demo
今天同事遇到乙個問題,想要實現乙個介面自動化的框架,實現功能需要整合pytest allure,執行完後,輸出視覺化的報告。但是他一直解決不了問題,所以找到我,讓我幫忙看下 例如 既然想要做成乙個公共的方法,自然界面具體資料就需要通過配置來完成,以配置形式來處理 以下是我做的乙個demo,很簡單的d...
iOS自動化環境搭建
背景摘要 實驗環境 作業系統 os x 10.13.1 ios版本 11.0.2 xcode版本 9.0.1 正片如下 各種工具安裝 安裝brew usr bin ruby e curl fssl 安裝libimobiledevicebrew install libimobiledevice 安裝c...