? 執(zhí)行方式主要分為兩種:
命令行執(zhí)行
代碼方式執(zhí)行
1卜壕、命令行方式
1.在控制臺(tái)執(zhí)行 pytest
2.在控制臺(tái)指定執(zhí)行范圍
a.指定某個(gè)模塊 pytest test_module.py
b.指定某個(gè)目錄及其子目錄的所有測(cè)試文件 pytest testcase
c.指定某個(gè)某塊的某個(gè)方法 pytest test_module::test_function
d.指定執(zhí)行某模塊的某個(gè)類中的某個(gè)用例 用“::”分割 pytesy test_model.py::test_class::test_method
2近忙、通過python代碼執(zhí)行pytest
1.直接執(zhí)行pytest.main() 【自動(dòng)查找當(dāng)前目錄下势似,以test_開頭的文件或者以_test結(jié)尾的py文件】
2.設(shè)置pytest的執(zhí)行參數(shù) pytest.main(['--html=./report.html','test_login.py'])【執(zhí)行test_login.py文件弱判,并生成html格式的報(bào)告】
方式2中绑青,執(zhí)行參數(shù)和插件參數(shù)盆顾,通過[]進(jìn)行分割怠褐,[]內(nèi)的多個(gè)參數(shù)通過‘逗號(hào),’進(jìn)行分割
常用執(zhí)行參數(shù)和插件參數(shù)
執(zhí)行參數(shù)
指定測(cè)試模塊? ?test_model.py:
指定測(cè)試目錄? ?testing/
指定執(zhí)行某模塊的某個(gè)類中的某個(gè)用例? ? test_model.py::test_class::test_method? ?
生成html格式的報(bào)告? ? ? ? ?--html=./report.html? ? ? ? ?
第01次失敗,就停止測(cè)試? ?-x 或--exitfirst
出現(xiàn)n個(gè)失敗就終止測(cè)試? ?--maxfail=n ??
執(zhí)行被裝飾器 @pytest.mark.slow 裝飾的所有測(cè)試用例?? ? ? -m slow? ? ?
注意您宪,-m后面不能帶''號(hào)(單引號(hào))奈懒,只能帶“”(雙引號(hào)),不然識(shí)別不到
如果要運(yùn)行多個(gè)標(biāo)識(shí)的話宪巨,用表達(dá)式磷杏,如下
pytest -m "slow or faster" 運(yùn)行有slow標(biāo)識(shí)或 faster標(biāo)識(shí)用例
pytest -m "slow and faster"? 運(yùn)行有slow和faster標(biāo)識(shí)的用例
pytest -m "slow and not faster"? 運(yùn)行有slow和沒有faster標(biāo)識(shí)的用例
自動(dòng)導(dǎo)入包 pkg.testing,并使用該包所在的目錄极祸,執(zhí)行下面的用例? --pyargs pkg.testing
顯示print內(nèi)容? ?-s
詳細(xì)結(jié)果? ? ? ? -v, --verbose
極簡(jiǎn)結(jié)果顯示? ?-q, --quiet
輸出xml文件格式怠晴,在與jenkins做集成時(shí)使用??--junit-xml=path
將最后的結(jié)果保存到本地文件中??--result-log=path
插件參數(shù)
多進(jìn)程跑用例 ,NUM填寫并發(fā)的進(jìn)程數(shù) -n NUM?
重試運(yùn)行cases? ??--reruns NUM