pytest-rerunfailures/pytest-repeat重跑插件

在测试中,我们会经常遇到这种情况,由于环境等一些原因,一条case运行5次,只有两次成功

其它三次失败,针对这种概率性成功或失败,若是我们每次都运行一次就比较耗时间,这个时候

就需要pytest提供的两个重跑插件来完成

一.pytest-rerunfailures插件

1.安装pytest-rerunfailures插件:pip install pytest-rerunfailures,安装完成后可查看版本:pip show pytest-rerunfailures

 pytest-rerunfailures/pytest-repeat重跑插件_第1张图片

2.指定失败重跑最大次数:pytest --reruns n(n为重新运行次数)例:设置重跑次数为n,实际重跑次数为m,若case

  在设置次数内重跑成功一次,则m<=n,若在设置重跑次数内没有一次成功的则m=n。如下图,设置重跑次数为2次

  实际重跑第一次的时候就返回了True,所有只重跑了一次。

pytest-rerunfailures/pytest-repeat重跑插件_第2张图片

pytest-rerunfailures/pytest-repeat重跑插件_第3张图片

 如下图,设置重跑次数2次,在重跑三次内都没有成功,所有只重跑了2次

 pytest-rerunfailures/pytest-repeat重跑插件_第4张图片

 pytest-rerunfailures/pytest-repeat重跑插件_第5张图片

 运行结果中R表示该次重跑失败,.表示在重跑次数内重跑成功,F表示在重跑次数内失败

3.指定重跑间隔:pytest --reruns n(n为重新运行次数)--reruns-delay  m(m为重跑时间间隔,单位为秒)

 pytest-rerunfailures/pytest-repeat重跑插件_第6张图片

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重跑插件_第7张图片

 count可以与-x参数一起用,设置遇到一次失败后就停止重跑,图中可以看出,我们设置重跑15次,在重跑第一次的

pytest-rerunfailures/pytest-repeat重跑插件_第8张图片

 时候就失败了,所有只重跑了两次,也可和--maxfail=x参数一起使用,表示错误达到X后停止重跑

2.指定某个函数进行重跑次数:@pytest.mark.repeat(count)。下图指定重跑15次,设置最大错误数5次后停止运行

 可以看出在重跑第七次的时候最大错误数达到5次,停止重跑

pytest-rerunfailures/pytest-repeat重跑插件_第9张图片

 pytest-rerunfailures/pytest-repeat重跑插件_第10张图片

你可能感兴趣的:(pytest-rerunfailures/pytest-repeat重跑插件)