pytest 常用命令行選項學習筆記(一)

2022-06-09 18:15:08 字數 2713 閱讀 2289

1. pytest --help/-help 檢視全部選項

2. pytest -m選項

描述:標記(marker)用於標記測試並分組,以便快速選中並執行。

3. pytest -v選項

描述:使用-v/--verbose選項,輸出的資訊會更詳細。最明顯的區別就是每個檔案中每個測試用例都佔一行,測試的名字和結果都會顯示出來,而不僅僅是乙個點或字元。如下圖: 

描述:關閉captured stdout call輸出資訊(失敗或成功都不顯示輸出結果),但是會顯示在test session start部分效果等同於 --capture=no

例項:

$pyteset -s test_sample.py,加了-s不再顯示captured stdout call資訊,但是會顯示test session starts

描述:在指定目錄生成allure報告(需要安裝第三方庫pip install allure-pytest)

注意:pytest-allure-adaptor已經廢棄,如果安裝了它會導致pytest無法正常執行,所以建議安裝allure-pytest

6. pytest test.py --reruns 3 或 pytest test.py --reruns 3 --reruns-delay 5

描述:重複執行失敗的用例且每次執行器等待5秒後在繼續執行,提前安裝:pip install pytest-rerunfailures

7. pytest test.py --html=./testreport.html

描述:測試報告,提前安裝:pip install pytest-html

8. pytest test.py pytest-randomly

描述:順序隨機測試,提前安裝:pip install pytest-randomly

9. 分布式併發測試用例集

pip install pytest-xdist 或 pip install pytest-parallel

備註:pytest-parallel比pytst-xdist好用些。pytest-parallel支援python3.6及以上版本,如果是想做多程序併發的需要在linux平台或mac上做,如果是做多執行緒的可以再windows平台做

–workers (optional)  * :多程序執行需要加此引數,  *是程序數。預設為1。

–tests-per-worker (optional)  * :多執行緒執行, *是每個worker執行的最大併發執行緒數。預設為1

例項:pytest test.py --workers 3:3個程序執行

pytest test.py --tests-per-worker 4:4個執行緒執行

pytest test.py --workers 2 --tests-per-worker 4:2個程序並行,且每個程序最多4個執行緒執行,即總共最多8個執行緒執行。

10. 出錯立即返回:pip install pytest-instafail

11. 整合jenkins的junit報告:不用安裝pytest已經整合了,使用命令:pytest --junitxml=path

例項:pytest test.py --reruns 3 --html=./testreport.html --junitxml=xmlreport.xml

此時則執行完用例後,在本地目錄生成testreport.html的測試報告,和xmlreport.xml的junit格式報告在jenkins中可呼叫展示。

12. python -m pytest test.py

備註:使用python執行的,可以順便把當前目錄加入到sys.path中,即環境變數

13. pytest退出碼彙總

根據官方說法,提供了6種,分別如下:

exit code 0: 所有用例執行成功後則返回0

exit code 1: 所有用例執行後,有部分失敗則返回1

exit code 2: 測試執行時被使用者中斷

exit code 3: 執行測試時發生內部錯誤

exit code 4: pytest 命令列使用錯誤

exit code 5: 沒有收集到測試結果

備註:如果是要自定義退出碼,則需要配合外掛程式:pytest-custom_exit_code

14. 執行用例遇到失敗就停止

pytest -x test.py #遇到用例失敗就停止,後面到不執行

pytest --maxfail=2 test.py #遇到第2哥用例失敗就停止,後面第不執行

4 Pytest常用命令行選項 case相關

pytest 命令執行語法 常用case相關引數說明 引數完整命令 說明使用場景 collect only pytest collect only 收集目錄下所有的用例 測試執行之前,檢查選中的用例是否符合預期 kpytest k 刪選條件 模糊篩選指定的case 希望只執行特定的用例 mpytes...

pytest基礎 常用的命令列選項

pytest的命令列選項可以通過命令 pytest help 檢視。本文講解我學習中碰到的命令或常用的命令 一 collect only 可以展示在給定配置下哪些用例被執行。方便在測試執行之前,檢查用例是否符合預期。二 k 允許你使用表示式指定希望執行的測試用例。如果某測試名是唯一的,或者多個測試名...

gcc的常用命令行選項

gcc的常用命令行選項 選項 說明 o file 指定輸出檔名,在編譯為目標 時,這一選項不 是必須的.如果file沒有指定,預設檔名時a.out c 只編譯不鏈結 dfoo bar 在命令列定義預處理巨集foo,其值為bar idirname 將dirname加入到包含檔案的搜尋目錄列表中 ldi...