pytest中的rerunfailures的插件(失败重试)
目录
1-- 安装rerunfailures插件
2-- rerunfailures的使用
3-- 重试案例
-
安装rerunfailures插件
- pip install pytest-rerunfailures
- 点击左下角的控制台面板
- 输入 pip install pytest-rerunfailures
- 出现上图的情况就算安装完成了
-
rerunfailures的使用
- 可以添加一下参数使用,在执行参数用例的时候
- --reruns 重试次数
- --reruns-delay 数字(秒)
- 每延迟的多少秒执行一次
- 可以添加一下参数使用,在执行参数用例的时候
-
重试案例
-
import pytestclass TestRerunFailures:def test_demo_001(self):print("---------test_demo_001--------")print("success")assert Truedef test_demo_002(self):print("---------test_demo_002--------")print("success")assert Truedef test_demo_003(self):print("---------test_demo_001--------")print("fail")assert Falsedef test_demo_004(self):print("---------test_demo_004--------")print("fail")assert Falsedef test_demo_005(self):print("---------test_demo_005--------")print("success")assert True
- 运行结果
-
PASSED [ 20%]---------test_demo_001--------
success
PASSED [ 40%]---------test_demo_002--------
success
FAILED [ 60%]---------test_demo_001--------
failtest_rerunfailures.py:15 (TestRerunFailures.test_demo_003)
self = <test_rerunfailures.TestRerunFailures object at 0x00000266195D6F00>def test_demo_003(self):
print("---------test_demo_001--------")
print("fail")
> assert False
E assert Falsetest_rerunfailures.py:19: AssertionError
FAILED [ 80%]---------test_demo_004--------
failtest_rerunfailures.py:20 (TestRerunFailures.test_demo_004)
self = <test_rerunfailures.TestRerunFailures object at 0x000002661961A4E0>def test_demo_004(self):
print("---------test_demo_004--------")
print("fail")
> assert False
E assert Falsetest_rerunfailures.py:24: AssertionError
PASSED [100%]---------test_demo_005--------
success
- 我们想让这些在失败之后从事几次之后,在做判断
- 我们可以添加
- --reruns 重试次数
- pytest -s .\test_rerunfailures.py --reruns 5
- 运行结果如下
- 可以看到有两个失败的
- 其他三个都是成功
- 一共重试了10次
- 相当于每个失败的用例执行了5次
- 我们可以在后面在添加延迟参数,这样这些用例就会在每个一秒钟之后在次执行
- pytest -s .\test_rerunfailures.py --reruns 5 --reruns-delay 1
- 也是也可看到
- 这些只是对失败的用例进行重试,成功的用例不会再次执行
- pytest -s .\test_rerunfailures.py --reruns 5 --reruns-delay 1
-