有些接口可能不太稳定,第一次跑的时候由于网络原因或者其它原因失败,但是重新跑2次又成功了。
对于这种需要重新跑几次的场景,可以使用用例失败重跑机制,需安装pytest-rerunfailures 插件。
失败重跑需要依赖 pytest-rerunfailures 插件,使用 pip 安装就行
pip install pytest-rerunfailures
关于reruns参数的2个用法
re-run failing tests to eliminate flaky failures:
--reruns=RERUNS number of times to re-run failed tests. defaults to 0.
--reruns-delay=RERUNS_DELAY
add time (seconds) delay between reruns.
以下示例,故意让第二个用例失败test_demo.yml
test_get_demo:
name: get
request:
method: GET
url: http://httpbin.org/get
validate:
- eq: [status_code, 200]
test_post_demo:
name: get
request:
method: POST
url: http://httpbin.org/post
validate:
- eq: [status_code, 201]
运行用例
pytest test_demo.yml
设置 --reruns 2
重跑2次
pytest test_demo.yml --reruns 2
还可以在重跑的时候加间隔时间--reruns-delay 5
单位是秒
pytest test_demo.yml --reruns 2 --reruns-delay 5
网易云完整视频课程https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338
报名咨询wx:283340479 (已报名的同学学习过程中有问题,都可以协助解决)