Pytest自定義用例執(zhí)行順序(推薦)
Unittest用例執(zhí)行順序
unittest框架和pytest框架編寫(xiě)的測(cè)試用例執(zhí)行順序,默認(rèn)根據(jù)ACSII碼的順序加載測(cè)試用例,數(shù)字與字母的順序?yàn)椋?9,AZ,a~z。
1.對(duì)于類(lèi)來(lái)說(shuō),class TestAxx 會(huì)優(yōu)先于class TestBxx被執(zhí)行。
2.對(duì)于方法來(lái)說(shuō),test_aaa()方法會(huì)有優(yōu)先于test_bbb()被執(zhí)行。
對(duì)于測(cè)試目錄與測(cè)試文件來(lái)說(shuō),unittest同樣是按照這個(gè)規(guī)則來(lái)加載測(cè)試用例的。
背景:
我們寫(xiě)接口測(cè)試用例的時(shí)候,可以按上下接口順序給它命名test_01…test_02…test_03…等等。
這樣寫(xiě)的弊端是用例執(zhí)行順序是: test_01<test_02<test_03<test_04<test_05…
如果我想test_04在test_03前面呢? 有人會(huì)說(shuō),直接將test_04的代碼,寫(xiě)到test_03里面去,相當(dāng)于交換上下的位置,這樣是可以。
如果是剛開(kāi)始寫(xiě)是可以,可是后期變動(dòng)維護(hù)起來(lái)顯然是不方便。
這樣就有人寫(xiě)了個(gè)插件來(lái)解決了這個(gè)問(wèn)題,插件:pytest-ordering。
下載地址:github 上有個(gè) pytest-ordering 插件可以控制用例的執(zhí)行順序,github插件地址https://github.com/ftobia/pytest-ordering。
安裝:
pip install pytest-ordering
默認(rèn)執(zhí)行順序:
import pytest
def test_01():
print("打開(kāi)瀏覽器")
def test_02():
print("輸入url")
def test_03():
print("輸入賬號(hào)")
def test_04():
print("輸入密碼")
def test_05():
print("勾選記住用戶")
def test_06():
print("單擊登錄")
運(yùn)行結(jié)果:
在測(cè)試用例目錄下輸入
pytest -vs test.py

使用插件執(zhí)行順序:
使用 pytest-ordering 插件后改變測(cè)試用例順序
import pytest
@pytest.mark.run(order=1)
def test_01():
print("打開(kāi)瀏覽器")
@pytest.mark.run(order=2)
def test_02():
print("輸入url")
@pytest.mark.run(order=4)
def test_03():
print("輸入賬號(hào)")
@pytest.mark.run(order=3)
def test_04():
print("輸入密碼")
@pytest.mark.last
def test_05():
print("勾選記住用戶")
def test_06():
print("單擊登錄")
運(yùn)行結(jié)果:
還是輸入命令:
pytest -vs test.py

出現(xiàn)這個(gè)警告不要慌,在項(xiàng)目目錄下新建pytest.ini文件,在文件輸入以下內(nèi)容:


這樣就實(shí)現(xiàn)了自定義測(cè)試用例的執(zhí)行順序。
到此這篇關(guān)于Pytest自定義用例執(zhí)行順序的文章就介紹到這了,更多相關(guān)Pytest自定義用例順序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)類(lèi)的創(chuàng)建與使用方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)類(lèi)的創(chuàng)建與使用方法,結(jié)合簡(jiǎn)單計(jì)算器功能實(shí)例分析了Python類(lèi)的定義與使用方法,需要的朋友可以參考下2017-07-07
python寫(xiě)文件時(shí)覆蓋原來(lái)的實(shí)例方法
這篇文章主要介紹了python寫(xiě)文件時(shí)覆蓋原來(lái)的實(shí)例方法,對(duì)此有興趣的朋友們可以參考下。2020-07-07
Python3開(kāi)發(fā)環(huán)境搭建詳細(xì)教程
這篇文章主要介紹了Python3開(kāi)發(fā)環(huán)境搭建詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
python列表刪除元素的三種實(shí)現(xiàn)方法
本文主要介紹了python列表刪除元素的三種實(shí)現(xiàn)方法,主要包括pop方法,remove方法,del方法這三種,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
python版本的仿windows計(jì)劃任務(wù)工具
這篇文章主要介紹了python版本的仿windows計(jì)劃任務(wù)工具,計(jì)劃任務(wù)工具根據(jù)自己設(shè)定的具體時(shí)間,頻率,命令等屬性來(lái)規(guī)定所要執(zhí)行的計(jì)劃,當(dāng)然功能不是很全大家可以補(bǔ)充2018-04-04
python3爬蟲(chóng)學(xué)習(xí)之?dāng)?shù)據(jù)存儲(chǔ)txt的案例詳解
這篇文章主要介紹了python3爬蟲(chóng)學(xué)習(xí)之?dāng)?shù)據(jù)存儲(chǔ)txt的案例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

