在测试中,我们会经常遇到这种情况,由于环境等一些原因,一条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. python中的load、loads实现反序列化

    load与loads 简介: 在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型. 这样在我们传递参数的时候就会出现格式不 ...

  2. 关于keras框架的介绍以及操作使用

    Keras 是一个 Python 深度学习框架,可以方便地定义和训练几乎所有类型的深度学习模型.Keras 最开始是为研究人员开发的,其目的在于快速实验.我们可以进入网站主页 - Keras 中文文档 ...

  3. Head First Python 代码和实例下载

    http://python.itcarlow.ie/resources.html

  4. ES2020新特性记录

    1.可选链操作符 // oldlet ret = obj && obj.first && obj.first.second// newlet ret = obj?.fi ...

  5. Sequence Model-week3编程题2-Trigger Word Detection

    1. Trigger Word Detection 我们的触发词将是 "Activate.".每当它听到你说 "Activate.",它就会发出 "c ...

  6. Scrum Meeting 5.26

    Scrum Meeting Beta 1 日期:2021年5月23日&2021年5月24日 会议主要内容概述:汇报工作 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作 ...

  7. postman_参数关联

    注:postman中的参数引用符号是{{变量名}},两个大括号 1.创建登录接口请求,在Tests中,添加如下代码,并send: // 获取响应的json数据 var jsonData = pm.re ...

  8. Apache Kafka 学习笔记

    1. 介绍Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据. 这种动 ...

  9. Java并发:重入锁 ReentrantLock(一)

    ReentrantLock 是一种可重入的互斥锁,它不像 synchronized关键字一样支持隐式的重进入,但能够使一个线程(不同的方法)重复对资源的重复加锁而不受阻塞. ReentrantLock ...

  10. 彻底搞通TCP滑动窗口

    在我们当初学习网络编程的时候,都接触过TCP,在TCP中,对于数据传输有各种策略,比如滑动窗口.拥塞窗口机制,又比如慢启动.快速恢复.拥塞避免等.通过本文,我们将了解滑动窗口在TCP中是如何使用的. ...