柚子快報(bào)邀請(qǐng)碼778899分享:pytest
柚子快報(bào)邀請(qǐng)碼778899分享:pytest
一、pytest插件
pytest-html(生成html報(bào)告的插件)
pytest-xdist(多線程運(yùn)行的插件)
pytest-ordering(改變用例的執(zhí)行順序的插件)
pytest-rerunfailres(失敗用例重跑的插件)
allure-pytest(生成美觀自定義的allure報(bào)告)
二、pytest默認(rèn)測(cè)試用例的規(guī)則及基礎(chǔ)應(yīng)用
模塊名必須以test_開頭或者_(dá)test結(jié)尾
測(cè)試類必須以Test開頭,且不能帶有init方法
測(cè)試用例必須以test_開頭
三、執(zhí)行:
3.1、通過命令行方式執(zhí)行
使用命令pytest
-vs -v:輸出詳細(xì)信息。 -s:輸出調(diào)試信息
-n 多線程運(yùn)行(前題是已安裝插件pytest-xdist)eg:兩個(gè)線程 pytest -n=2
--reruns 失敗重試(前提是已安裝插件pytest-rerunfailres)eg:失敗后再重試兩次 pytest --reruns=2
-x 出現(xiàn)一個(gè)失敗用例則停止測(cè)試 eg:pytest -x
--maxfail 出現(xiàn)n個(gè)失敗終止測(cè)試 eg:出現(xiàn)兩個(gè)失敗后終止測(cè)試 pytest --maxfail=2
--html 生成html的測(cè)試報(bào)告(前提是已安裝插件pytest-html)eg:在reports目錄下生成名為result。html的測(cè)試報(bào)告 pytest -vs --html ./reports/result.html
-k 運(yùn)行測(cè)試用例名稱中包含某個(gè)字符串的測(cè)試用例 eg:只運(yùn)行包含“3”測(cè)測(cè)試用例 pytest -vs -k "3"
3.2、通過主函數(shù)main方式執(zhí)行
main函數(shù)中使用pytest.main() 參數(shù)用字符串?dāng)?shù)組表示:eg:pytest.main([‘-vs’,‘-n=2’])
3.3、通過全局配置文件pytest.ini文件執(zhí)行
注意: 1. 一般放在項(xiàng)目的根路徑,名稱必須為pytest.ini 2. 編碼格式為ANSI(文件中不能一定不能帶有中文格式的符號(hào),否則會(huì)報(bào)編碼格式錯(cuò)誤;文件中帶有中文,需改變文件的編碼格式為gbk2312) 3. pytest.ini文件可以改變默認(rèn)的測(cè)試用例規(guī)則 4. 不管是命令行還是主函數(shù)運(yùn)行,都會(huì)加載這個(gè)配置文件
3.3.1、pytest.ini
[pytest]
# 第一行[pytest]為聲明pytest配置文件
# 配置執(zhí)行參數(shù)
addopts = -vs --maxfail=2 -m "smoke"
# 指定測(cè)試用例路徑
testpaths = ./testcases
# 指定的測(cè)試文件
# python_files = test_*.py
# 指定的測(cè)試類
python_classes = Test*
# 指定測(cè)試方法
python_functions = test_*
# 標(biāo)記可使測(cè)試用例分組執(zhí)行
markers =
smoke:冒煙用例
regression:回歸用例
user_manage:用戶管理模塊用例
product_manage:商品管理模塊用例
注: -m "標(biāo)記" :執(zhí)行帶有此標(biāo)記的用例(-m "smoke" 執(zhí)行標(biāo)記為冒煙用例的用例)
給用例打標(biāo)記@pytest.mark.標(biāo)記
import pytest
class TestLearn:
@pytest.mark.smoke
@pytest.mark.regression
def test_01(self):
print('打印測(cè)試01,--->標(biāo)記冒煙,標(biāo)記回歸')
def test_02(self):
print('打印測(cè)試02')
@pytest.mark.smoke
def test_03
柚子快報(bào)邀請(qǐng)碼778899分享:pytest
推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。