詳解Pytest測(cè)試用例的執(zhí)行方法
pytest概述
pytest是一個(gè)非常成熟的全功能的Python測(cè)試框架,主要特點(diǎn)有以下幾點(diǎn):
1、簡(jiǎn)單靈活,容易上手,文檔豐富;
2、支持參數(shù)化,可以細(xì)粒度地控制要測(cè)試的測(cè)試用例;
3、能夠支持簡(jiǎn)單的單元測(cè)試和復(fù)雜的功能測(cè)試,還可以用來做selenium/appnium等自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試(pytest+requests);
4、pytest具有很多第三方插件,并且可以自定義擴(kuò)展,比較好用的如pytest-selenium(集成selenium)、pytest-html(完美html測(cè)試報(bào)告生成)、pytest-rerunfailures(失敗case重復(fù)執(zhí)行)、pytest-xdist(多CPU分發(fā))等;
5、測(cè)試用例的skip和xfail處理;
6、可以很好的和CI工具結(jié)合,例如jenkins
如下是目錄結(jié)構(gòu):

1、主函數(shù)模式
(1)運(yùn)行所有 pytest.main()
(2)指定模塊 pytest.main('[-vs],','./testcase/test_day1.py')
(3)指定目錄pytest.main('[-vs]'),'./testcase')
(4)通過nodeid指定用例運(yùn)行:nodeid由模塊名,分隔符,類名,方法名,函數(shù)名組成
#pytest.main(["-vs"],'./interface_testcase/test_day3.py::test_demo11')
#pytest.main(["-vs"],'./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1')
2、命令行模式
(1)運(yùn)行所有:pytest
(2)指定模塊 pytest -vs ./testcase/test_day1.py
(3)指定目錄 pytest -vs ./testcase
(4)通過nodeid指定用例運(yùn)行:nodeid由模塊名,分隔符,類名,方法名,函數(shù)名組成
pytest -vs ./interface_testcase/test_day3.py::test_demo11
pytest -vs ./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1
參數(shù)詳解:
-s:表示輸出調(diào)試信息,包括print打印的信息
-v顯示更詳細(xì)的信息
-vs一起使用
-n支持多線程或者分布式運(yùn)行測(cè)試用例
#如 #pytest.main(['-vs','./testcase/test_day1.py','-n=2'])
# pytest -vs ./testcase/test_day1.py -n 2
#reruns==number 表示失敗用例重跑
#pytest -vs ./testcase/test_day2.py --reruns 2
#pytest.main(['–vs','./testcase/test_day2.py',‘reruns=2']) #失敗得的用例重跑兩次
#-x表示只要一個(gè)用例報(bào)錯(cuò),那么測(cè)試停止運(yùn)行
#–maxfail=2 出現(xiàn)兩個(gè)失敗用例停止
#-k 根據(jù)測(cè)試用例的部分字符串指定測(cè)試用例 pytest -vs test_day2 -k “yang”
3、通過讀取pytest ini配置文件運(yùn)行 (最主要運(yùn)用的方式)
#pytest.ini是pytest單元測(cè)試框架中的核心配置文件
(1)位置:一般是放在項(xiàng)目的根目錄
(2)編碼:必須是ANSI,可以使用notepad++來修改編碼格式
(3)作用:改變pytest的默認(rèn)行為
(4)運(yùn)行的規(guī)則:不管是主函數(shù)的模式運(yùn)行該,命令行模式,都會(huì)區(qū)讀取這個(gè)配置文件
[pytest] addopts=-vs #命令行參數(shù) 用空格分離 testpaths=./testcase #測(cè)試用例的路徑 ./testcase/test_day2.py # python_files=test_*.py #模塊名的規(guī)則 python_classes=Test* #類名的規(guī)則 python_functions=test #方法名的規(guī)則
#實(shí)際項(xiàng)目配置中,盡量刪除注釋,確保不必要的問題出現(xiàn)
以上就是詳解Pytest測(cè)試用例的執(zhí)行方法的詳細(xì)內(nèi)容,更多關(guān)于Pytest測(cè)試用例的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例
這篇文章主要介紹了python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python實(shí)現(xiàn)身份證前六位地區(qū)碼對(duì)照表文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)身份證前六位地區(qū)碼對(duì)照表文件,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12
python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹
這篇文章主要介紹了python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹,小編覺得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-10-10
基于Python編寫一個(gè)PDF轉(zhuǎn)換工具箱
這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫一個(gè)PDF轉(zhuǎn)換工具箱,可以實(shí)現(xiàn)PDF轉(zhuǎn)圖片,word,拆分,刪除,提取等功能,感興趣的可以了解下2024-12-12
Python針對(duì)不同文本長(zhǎng)度的處理方案總結(jié)與對(duì)比
這篇文章主要為大家詳細(xì)介紹了Python如何針對(duì)不同文本長(zhǎng)度的處理方案,結(jié)合層次化編碼和檢索優(yōu)化策略,感興趣的小伙伴可以參考一下2025-02-02
pandas 對(duì)日期類型數(shù)據(jù)的處理方法詳解
這篇文章主要介紹了pandas 對(duì)日期類型數(shù)據(jù)的處理方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

