前言
在自動化過程中,想要重復執行一條腳本,查看他的穩定性,如果是在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('測試用例第三條')
直接進行執行,執行結果設置了重復執行多少條用例,就會執行多少條用例

