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

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

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

一.pytest-rerunfailures插件

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

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

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

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

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

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

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

4.若要指定某个函数重跑的话,可以使用@pytest.mark.param设置参数,运行指令时加上-m  “param”即可

二.pytest-repeat插件

1.安装:pip install pytest-repeat,查看版本pip show pytest-repeat

2.使用count指定重跑次数:pytest --count=3 路径,下图我们可以看出不管有没有运行成功或者失败,都会重跑15次。

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

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

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

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

pytest-rerunfailures/pytest-repeat重跑插件的更多相关文章

  1. Pytest系列(11)- 失败重跑插件pytest-rerunfailures详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 环境前提 以下先决条件才能使用py ...

  2. Pytest学习(十一)- 失败重跑插件pytest-rerunfailures的使用

    环境依赖 Python 3.5, 最高 3.8, or PyPy3 pytest 5.0或更高版本 插件安装 pip3 install pytest-rerunfailures -i http://p ...

  3. Pytest(4)失败重跑插件pytest-rerunfailures

    安装: pip3 install pytest-rerunfailures 重新运行所有失败用例 要重新运行所有测试失败的用例,请使用--reruns命令行选项,并指定要运行测试的最大次数: $ py ...

  4. pytest失败重跑

    一.说明 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例 ...

  5. pytest文档8-html报告报错截图+失败重跑

    前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.p ...

  6. Pytest学习笔记9-失败重跑

    前言 在进行自动化测试的过程中,我们一定会有这样的需求:希望失败的用例可以自动重跑 在pytest中,提供了pytest-rerunfailures插件可以实现自动重跑的效果 插件安装 pip命令安装 ...

  7. pytest 失败重跑截图

    1.环境准备 /*@param: 作者:流浪的python Date:2019/01/19 env:python 3.7(由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9 ...

  8. pytest的一些你爱不释手的插件

    1. pytest-html 安装: pip install pytest-html # 通过pip安装pytest-html 运行测试文件的时候,命令行加上对应参数即可 比如:pytest test ...

  9. testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件

    生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...

随机推荐

  1. jenkins容器内安装python3

    前言 很多小伙伴可能在考虑 jenkins 拉取了 github 上的代码后,发现还越少 python3 环境,那能怎么办呢? 咨询了一位运维朋友给我的答案是,将 python3 挂载到容器工作目录上 ...

  2. Billu_b0x2内网渗透(多种提权方法)靶场-vulnhub

    个人博客阅读体验更佳 本次来试玩一下vulnhub上的Billu_b0x2,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶场推荐使用N ...

  3. Visual Studio 安装 C++

    Visual Studio 安装 C++

  4. html视口单位:vw,vh,rem

    前言 不像响应式布局,通过media query,设置几个变化点来适配,流体排版通过调整大小,适配所有设备宽度.这个方法可以使我们开发的网页,在几乎所有屏幕尺寸上都可以使用.但出于一些原因,它的使用率 ...

  5. 聊聊 Kubernetes Pod or Namespace 卡在 Terminating 状态的场景

    这个话题,想必玩过kubernetes的同学当不陌生,我会分Pod和Namespace分别来谈. 开门见山,为什么Pod会卡在Terminationg状态? 一句话,本质是API Server虽然标记 ...

  6. ASP的调试技术解答

    一. 调试 ASP.NET 应用程序时出现"未将项目配置为进行调试"的错误信息 症状 当您在 Visual Studio .NET 中调试 ASP.NET 应用程序时,可能会出现下 ...

  7. Python ImportError: cannot import name ABC

    Python 3.5.2 测试可以运行 import sys from abc import ABC,abstractmethod class MyBase(ABC): @abstractmethod ...

  8. best-time-to-buy-and-sell-stock-iii leetcode C++

    Say you have an array for which the i th element is the price of a given stock on day i. Design an a ...

  9. sql注入理解

    一.SQL注入产生的原因和危害 1.原因 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序.而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原 ...

  10. Java学到什么程度能找到一份还不错的工作

    我的读者里有很多 Java 新人,新人是指正在学 Java 的.以及工作时间不长的年轻人,他们经常问我一个问题: Java 学到什么程度才能找到一份还不错的工作? 今天我就从我自己面试新人的角度来回答 ...