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/ *******