pytest 之重運行機制:rerunfailures


web自動化測試中,穩定性在整個測試運行中都至關重要,但不能保證測試腳本或者測試環境一直都能夠穩定,它牽扯到諸多因素,在這里就不贅述,pytest框架相較於unittest的一大優勢就在於擁有用例失敗的重試機制,以此來應對環境不穩定問題或者是測試用例腳本的不穩定性問題。

一、安裝

重運行機制使用到了pytest的插件,插件名稱為:rerunfailures (譯:瑞軟.費偶噎死),要使用它,需要先安裝此插件

pip install pytest-rerunfailures

二、使用方法

1.命令行參數形式

  • 命令:pytest --reruns 重試次數

  比如:pytest --reruns 2  表示:運行失敗的用例可以重新運行2次

  • 命令:pytest --reruns 重試次數 --reruns-delay 次數之間的延時設置(單位:秒)

  比如:pytest --reruns 2 --reruns-delay 5  表示:運行失敗的用例可以重新運行2次,第一次和第二次的間隔時間為5秒鍾

復制代碼
import pytest


def test_demo_01():
    b = 1 + 2
    assert 3 == b


def test_demo_02():
    b = 1 + 2
    assert 2 == b


if __name__ == '__main__':
    pytest.main(['--reruns', '3', '--reruns-delay', '5'])
復制代碼

  運行結果:

 

2.使用裝飾器

  @pytest.mark.flaky(reruns=重試次數, reruns_delay=次數之間的延時設置(單位:秒))

復制代碼
import pytest


def test_demo_01():
    b = 1 + 2
    assert 3 == b


@pytest.mark.flaky(reruns=3, reruns_delay=5)
def test_demo_02():
    b = 1 + 2
    assert 2 == b
復制代碼

  運行結果:

 

 

*******尊重作者,本文是本人轉載自:https://www.cnblogs.com/xiaogongjin/    ******* 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM