pytest如何设置 批量用例执行时,失败自动retry重试机制

发布时间 2023-10-10 11:37:20作者: 苹果芒

失败重跑插件pytest-rerunfailures

1.环境前提:
  以下先决条件才能使用pytest-rerunfailures
  Python 3.5, 最高 3.8, or PyPy3
  pytest 5.0或更高版本

2.安装插件

pip install pytest-rerunfailures

插件重点:
命令行参数:–reruns n(重新运行次数),–reruns-delay m(等待运行秒数)
装饰器参数:reruns=n(重新运行次数),reruns_delay=m(等待运行秒数)

重新运行所有失败的用例
要重新运行所有测试失败的用例,使用 --reruns 命令行选项,并指定要运行测试的最大次数:

pytest --reruns 5 -s 

运行失败的 fixture 或 setup_class 也将重新执行

添加重新运行的延时
要在两次重试之间增加延迟时间,使用 --reruns-delay 命令行选项,指定下次测试重新开始之前等待的秒数

pytest --reruns 5 --reruns-delay 10 -s

 

3.执行用例

python -m pytest -s .\test\Testdata_test.py::TestSystem::test_run_for  --reruns 1 --reruns-delay 2 -s