pytest框架
特點(diǎn):
- 容易上手, 入門簡(jiǎn)單, 文檔豐富, 文檔中有很多參考案例
- 支持簡(jiǎn)單的單元測(cè)試和復(fù)雜的功能測(cè)試
- 支持參數(shù)化
- 執(zhí)行測(cè)試用例過程中, 支持跳過操作
- 支持重復(fù)失敗的case
- 支持運(yùn)行Nose, unittest編寫測(cè)試用例
- pytest支持很多第三方插件
- 方便和持續(xù)集成工具集成
1. pytest斷言
斷言方法: assert result?
2. pytest方法級(jí)別的fixture
- pytest方法級(jí)別的fixture是針對(duì)每個(gè)測(cè)試方法, 在執(zhí)行測(cè)試方法前會(huì)執(zhí)行fixxture初始化操作, 在執(zhí)行完測(cè)試方法后, 執(zhí)行fixture銷毀操作
- 初始化操作方法: def setup(self): 方法來實(shí)現(xiàn)
- 銷毀的操作方法: def teardown(self): 方法來實(shí)現(xiàn)
3. pytest類級(jí)別的實(shí)現(xiàn)
- pytest類級(jí)別的fixture針對(duì)每一個(gè)測(cè)試類的初始化和銷毀操作, 可以放在一下兩個(gè)方法中
- 類級(jí)別初始化的方法: def setup_class(self):
- 類級(jí)別銷毀的方法: def teardown_class(self):
- 方法名稱固定, 不能修改
4. pytest配置文件
pytest的配置文件有固定的三個(gè)名稱:? pytest.ini? ? ?tox.ini
1 2 3 4 5 6 |
|
5. 控制用例的執(zhí)行順序
- unittest測(cè)試用例執(zhí)行順序是根據(jù)測(cè)試方法名稱的assic碼值大小來的, 值越小排在越前面
- pytest正常情況下是根據(jù)測(cè)試方法的從上到下的順序來執(zhí)行
- 可以通過pytest-ording插件來控制pytest測(cè)試方法執(zhí)行的順序
- 使用
- @pytest.mark.run(ordeer=x)? ? # x表示的是整數(shù)(既可以是整數(shù)也可以是負(fù)數(shù))
- 全為負(fù)數(shù)或者整數(shù)時(shí), 值越小, 優(yōu)先級(jí)越高
- 既有正數(shù), 又有負(fù)數(shù), 那么正數(shù)優(yōu)先級(jí)高
- 沒有確定執(zhí)行順序的用例優(yōu)先于負(fù)數(shù)
6. 失敗重試
- 安裝插件pytest-rerunfailures
- 使用
- 在addopts參數(shù)行中增加對(duì)應(yīng)的參數(shù)配置項(xiàng):? ? --reruns x(x為一個(gè)整數(shù), 代表要執(zhí)行幾次)
- 當(dāng)重復(fù)執(zhí)行成功時(shí), 就不會(huì)再重復(fù)執(zhí)行
7. 跳過
- @pytest.mark.skipif(condition, reason=None)
- condition表示的是跳過的條件
- 這里的reason參數(shù)必填
- @pytest.mark.skip(reason=None)
- reason表示的是跳過的原因
8. 數(shù)據(jù)的參數(shù)化
- pytest參數(shù)化的實(shí)現(xiàn): @pytest.mark.parameterize(argnames, argvalues)
- argnames表示的是參數(shù)的名字, 是一串字符, 多個(gè)參數(shù)之間由逗號(hào)隔開 "username, password"
- argvales 表示的是參數(shù)化的數(shù)據(jù), [("1111", '1234'), ("2222", '1111')]
- argname訂單參數(shù)個(gè)數(shù)要與argvalues例面的測(cè)試數(shù)據(jù)的個(gè)數(shù)要相同, 否則會(huì)報(bào)錯(cuò)
最后: 可以在我的VX公眾號(hào):【自動(dòng)化測(cè)試?yán)纤緳C(jī)】免費(fèi)領(lǐng)取一份216頁軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。文章來源地址http://www.zghlxwxcb.cn/news/detail-524262.html
到了這里,關(guān)于【自動(dòng)化測(cè)試教程】 —— pytest 框架詳解 ~的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!