1. 程式人生 > 其它 >pytest---重複執行用例

pytest---重複執行用例

前言

  在自動化過程中,想要重複執行一條指令碼,檢視他的穩定性,如果是在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('測試用例第三條')

直接進行執行,執行結果設定了重複執行多少條用例,就會執行多少條用例