Pytest 失败重运行机制

第一种:对所有用例使用
1、安装:pip install pytest-rerunfailures
2、命令行参数:pytest -- reruns 重试次数 (--reruns-delay 次数之间间隔)                   pytest --reruns 2 运行失败的用例可以执行2次                   pytest --reruns 2 --reruns-delay 5 运行失败的用例可以执行2次,每次间隔5秒 pytest.main(["-v","-m","demo","--reruns","2","--reruns-delay","5","--alluredir=../OutPuts/allure-results"]) pytest中的失败截图。
第二种:只对部分用例使用重运行机制
1、安装:pip install flaky

在指定的用例使用装饰器 @pytest.mark.flaky(reruns=5, reruns_delay=2) def test_example():     import random     assert random.choice([True, False])
reruns=5, reruns_delay=2:最多失败重跑5次 & 如果失败则延迟1秒后重跑(可以不传)
@flaky(max_runs=3, min_passes=2):第一次执行失败了,将会再次重复执行它3次,如果这3次中有2次成功了,则认为这个测试通过了。
posted on 2020-03-25 11:49  凌风子  阅读(1343)  评论(0编辑  收藏  举报