pytest-rerunfailures/pytest-repeat重跑插件

在测试中,我们会经常遇到这种情况,由于环境等一些原因,一条case运行5次,只有两次成功
其它三次失败,针对这种概率性成功或失败,若是我们每次都运行一次就比较耗时间,这个时候
就需要pytest提供的两个重跑插件来完成
一.pytest-rerunfailures插件
1.安装pytest-rerunfailures插件:pip install pytest-rerunfailures,安装完成后可查看版本:pip show pytest-rerunfailures
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

2.指定失败重跑最大次数:pytest --reruns n(n为重新运行次数)例:设置重跑次数为n,实际重跑次数为m,若case
在设置次数内重跑成功一次,则m<=n,若在设置重跑次数内没有一次成功的则m=n。如下图,设置重跑次数为2次
实际重跑第一次的时候就返回了True,所有只重跑了一次。
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

pytest-rerunfailures/pytest-repeat重跑插件
文章图片

如下图,设置重跑次数2次,在重跑三次内都没有成功,所有只重跑了2次
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

pytest-rerunfailures/pytest-repeat重跑插件
文章图片

运行结果中R表示该次重跑失败,.表示在重跑次数内重跑成功,F表示在重跑次数内失败
3.指定重跑间隔:pytest --reruns n(n为重新运行次数)--reruns-delaym(m为重跑时间间隔,单位为秒)
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

4.若要指定某个函数重跑的话,可以使用@pytest.mark.param设置参数,运行指令时加上-m“param”即可
二.pytest-repeat插件
1.安装:pip install pytest-repeat,查看版本pip show pytest-repeat
2.使用count指定重跑次数:pytest --count=3 路径,下图我们可以看出不管有没有运行成功或者失败,都会重跑15次。
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

count可以与-x参数一起用,设置遇到一次失败后就停止重跑,图中可以看出,我们设置重跑15次,在重跑第一次的
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

时候就失败了,所有只重跑了两次,也可和--maxfail=x参数一起使用,表示错误达到X后停止重跑
2.指定某个函数进行重跑次数:@pytest.mark.repeat(count)。下图指定重跑15次,设置最大错误数5次后停止运行
可以看出在重跑第七次的时候最大错误数达到5次,停止重跑
pytest-rerunfailures/pytest-repeat重跑插件
文章图片

【pytest-rerunfailures/pytest-repeat重跑插件】 pytest-rerunfailures/pytest-repeat重跑插件
文章图片

    推荐阅读