pytest---重複執行用例
阿新 • • 發佈:2021-07-22
前言
在自動化過程中,想要重複執行一條指令碼,檢視他的穩定性,如果是在unittest框架中,安靜可能會使用for一直迴圈這條用例,但是當我們使用pytest框架後,我們就可以通過某些外掛來實現這個功能了。今天安靜介紹的這個外掛就是重複執行某條用例或者某些用例。
pytest-repeat
pytest-repeat屬於pytest中的一個第三方外掛,它的作用就是重複執行某條用例或者某些用例。
安裝:pip install pytest-repeat
使用方法:
# 全部執行 pytest XXX.py --count=x 其中X表示執行多少次 # 需要在執行的用例上加入裝飾器 @pytest.mark.repeat(count)
重複執行多條用例
當我們想要重複執行多條用例的時候,可以直接通過執行某個py檔案來進行多次執行
class Test_01: def test_01(self): print('測試用例第一條') def test_02(self): print('測試用例第二條') def test_03(self): print('測試用例第三條')
通過在cmd中輸入命令:pytest -s --count=3 # 3表示執行3遍,通過執行結果可以看出來,用例已經重複執行了3遍了。
重複執行單個用例
前面介紹使用方法的時候介紹了,如果想要重複執行單條用例的話,我們可以進行對其用例新增裝飾器。
import pytest class Test_01: @pytest.mark.repeat(2) def test_01(self): print('測試用例第一條') def test_02(self): print('測試用例第二條') def test_03(self): print('測試用例第三條')
再次通過cmd進行執行,注意:這裡不需要在新增次數,因為我們在裝飾器中已經新增執行次數,如果新增次數的話,會將其他的用例也會重複執行
當然這裡也可以進行對多個用例進行新增多條裝飾器,這樣的話,就能懟不同的用例執行不同的次數
import pytest class Test_01: @pytest.mark.repeat(2) def test_01(self): print('測試用例第一條') @pytest.mark.repeat(3) def test_02(self): print('測試用例第二條') @pytest.mark.repeat(4) def test_03(self): print('測試用例第三條')
直接進行執行,執行結果設定了重複執行多少條用例,就會執行多少條用例