编写自动化过程中,经常会遇到服务不稳定情况,只执行一次结果可能说明不了问题,这个时候引入重试机制,能大幅提高用例成功率,但是也会增加执行时间。
1、安装
pip install pytest-rerunfailures
2、装饰器用法
@pytest.mark.flaky(reruns=2, reruns_delay=5)
-代表重试2次,每次间隔5s
3、命令行用法:
命令:pytest --reruns 重试次数 --reruns-delay 重试间隔
比如:pytest --reruns 2 --reruns-delay 5
(表示:运行失败的用例可以重新运行2次,第一次和第二次的间隔时间为5秒钟)
-装饰器-作用域-function
-装饰器-作用域-class
命令行-作用域-session
pytest test_case/api/ --reruns 2 --reruns-delay 5
命令行-作用域-module
pytest test_case/api/xxx.py --reruns 2 --reruns-delay 5
命令行-作用域-class
pytest test_case/api/xxx.py::xx类 --reruns 2 --reruns-delay 5
命令行-作用域-function
pytest test_case/api/xxx.py::xx类::xx方法 --reruns 2 --reruns-delay 5