Python自動(dòng)化必不可少的測試框架 — pytest
每天進(jìn)步一點(diǎn)點(diǎn),關(guān)注我們哦,每天分享測試技術(shù)文章
本文章出自【碼同學(xué)軟件測試】
碼同學(xué)公眾號:自動(dòng)化軟件測試,領(lǐng)取資料可加:Matongxue_8
碼同學(xué)抖音號:小碼哥聊軟件測試
Python在測試圈的應(yīng)用非常廣泛,特別是在自動(dòng)化測試以及測試開發(fā)的領(lǐng)域,其中在自動(dòng)化測試中我們常用的測試框架是uniitest和pytest,本文將帶領(lǐng)大家搭建以及熟悉pytest的使用。
既然有unittest那么為什么還要用pytest呢?
這是因?yàn)?strong>pytest有以下的特點(diǎn):
入門簡單,文檔豐富,而且文檔中有很多實(shí)例參考
支持參數(shù)化,可以從教細(xì)的力度控制測試用例
能夠支持簡單的單元測試和復(fù)雜的功能測試
支持測試跳過,失敗case標(biāo)記
支持失敗重試
支持由nose,unittest編寫的測試用例
支持HTML報(bào)告
和jenkins持續(xù)集成很方便
具有很多第三方插件,并且可以自定義擴(kuò)展
01安裝pytest?
cmd或者終端運(yùn)行

查看版本
快速體驗(yàn)一把

在pycharm里的Terminal直接執(zhí)行

在這里必須提醒大家注意pytest的執(zhí)行規(guī)則,規(guī)則是這樣的:
考如果直接敲pytest執(zhí)行,則會(huì)查找當(dāng)前目錄及其子目錄下以??test_*.py? 或?*_test.py?文件,找到文件后,在文件中找到以test 開頭函數(shù)并執(zhí)行
如果只想執(zhí)行某個(gè)py文件,則使用pytest? xxx.py
02pytest測試用例設(shè)計(jì)原則
用pytest寫用例時(shí),需要遵循以下的規(guī)則,才能夠被識別并執(zhí)行:
文件名必須以*_test.py或者test_*.py命名
測試函數(shù)必須以test開頭
測試類必須以Test開頭,并且不能包含__init__方法
測試類里以test_開頭的方法
所有的包必須要有__init__.py文件
03pytest執(zhí)行用例規(guī)則
1、執(zhí)行某個(gè)目錄下所有的用例
在first這個(gè)目錄下執(zhí)行pytest命令,則會(huì)找該目錄下的符合pytest用例規(guī)則的所有用例并執(zhí)行

免費(fèi)領(lǐng)取碼同學(xué)軟件測試課程筆記+超多學(xué)習(xí)資料+完整視頻+面試題,可加微信:Matongxue_8
2、單獨(dú)執(zhí)行某個(gè)py文件
執(zhí)行pyteststudy.py這個(gè)文件中符合pytest用例規(guī)則的所有用例,而該文件并不需要遵循pytest對于文件的命名規(guī)則

3、執(zhí)行某個(gè)py文件里的某個(gè)函數(shù)
或者某個(gè)類,再或者某個(gè)類里的某個(gè)方法執(zhí)行pyteststudy.py里的test_add方法

執(zhí)行pyteststudy.py里的TestCase這個(gè)類

執(zhí)行pyteststudy.py里的TestCase這個(gè)類下的test_one方法

4、-s 參數(shù)
表示詳細(xì)打印,可以把腳本中print的信息展示在結(jié)果上

04Pycharm運(yùn)行Pytest
當(dāng)然以上執(zhí)行貌似都是在命令行中進(jìn)行操作的,那么我們使用pycharm能不能像運(yùn)行普通代碼右鍵run呢,這就需要一定的設(shè)置了
設(shè)置步驟如下:
點(diǎn)開File --> Settings
在settings彈框中輸入integrated 搜索
修改default test runner為pytest

然后在腳本中右鍵

免費(fèi)領(lǐng)取碼同學(xué)軟件測試課程筆記+超多學(xué)習(xí)資料+學(xué)習(xí)完整視頻 ? 可加:Matongxue_8/關(guān)注碼同學(xué)公眾號:自動(dòng)化軟件測試
本文著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。