需安装第三方插件:pytest-rerun、pytest-rerunfailures

失败重试和失败重运行的区别

失败重试:【--reruns=1】,用例执行失败后,会立即开始重试一次此用例,再执行下一条用例

失败重运行:【--if】 ,用例集或用例执行完成之后,再次pytest.main(),会收集失败的用例,再次运行;如果没有失败的用例,会执行全部

 一个run文件,可以同时写多条pytest.main(),执行pytest的命令

if __name__=="__main__":

   
pytest.main(['-s','test_firstFile.py'])  
-- 第一次运行,如果有失败的用例/第一次没有失败的用例

   
pytest.main(['-s','--lf','test_firstFile.py']) – 收集到第一次失败的用例,进行执行/则运行全部

需注意,如果用例数较多,第一次运行全部成功的情况,第二个pytest.main(),是会收集所有的用例再执行一遍。

建议使用失败重试次数(--reruns=1),失败一次后,立刻执行一次,也可减少用例的失败率

失败重试方式

1、可在命令行 –reruns=1 reruns_delay=2 失败后重运行1次,延时2s

2、使用装饰器进行失败重运行

@pytest.mark.flaky(reruns=1, reruns_delay=2)

命令行参数和装饰器同时存在

说明:如果用例装饰器方式设置了重新运行次数,则在命令行添加–reruns对这些用例不会生效;装饰器的优先级>命令行

  • 这个插件不可以和 class, module,
    package 级别的fixture装饰器一起使用,不能与@pyest.mark.usefixtures()一起使用
  • 这个插件与 pytest-xdist 的 --looponfail 标志不兼容
  • 这个插件与核心 --pdb 标志不兼容

总结

pytest-rerunfailures插件可以通过命令行参数 --reruns 2 --reruns-delay 5 进行使用,这个对于所有用例生效

pytest-rerunfailures插件使用装饰器装饰在用例上面,只对装饰的用例有效

当时同时使用装饰器和命令行参数时,装饰器参数优先级高

注意插件的兼容性

原文链接:https://blog.csdn.net/u010454117/article/details/118584670

Pytest 失败重运行的更多相关文章

  1. pytest - 失败重运行机制:rerun

    失败重运行机制 用例失败的情况下,可以重新运行用例 一旦用例失败,马上重新运行 安装插件:pip install pytest-rerunfailures 使用命令:--reruns 重试次数 如 - ...

  2. pytest框架之rerunfailures失败重运行机制

    web自动化测试中,稳定性在整个测试运行中都至关重要,但不能保证测试脚本或者测试环境一直都能够稳定,它牵扯到诸多因素,在这里就不赘述,pytest框架相较于unittest的一大优势就在于拥有用例失败 ...

  3. pytest 失败重跑截图

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

  4. pytest失败重跑

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

  5. selenium实现失败重运行

    UI自动化脚本执行过程中存在非常多的不稳定性,例如网络的不稳定,浏览器无响应等等,这些失败往往并不是产品中的错误.那么这时我们往往需要对执行失败的测试用例进行多次重跑,确认其是否确实失败. 那么失败重 ...

  6. pytest「conftest、pytest参数化、重运行、出测试报告」

    文章总览图 一.conftest问题整理: 1.这个conftest.py分路径吗?如果在TestCases下建这个包可以直接用吗? TestCases这里有ModeA和ModeB,想在ModeA或M ...

  7. TestNG监听器实现用例运行失败自动截图、重运行功能

    注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng ...

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

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

  9. Pytest插件pytest-rerunfailures失败重跑

    Pytest插件pytest-rerunfailures失败重跑 安装 pip install pytest-rerunfailures doc https://github.com/pytest-d ...

  10. 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)

    使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...

随机推荐

  1. [Trading] 日间交易中的成交量分析 - 使用成交量趋势来提高你的效果

    在交易中,成交量代表在特定时期内股票或期货合约的易手单位数量. 交易员将其作为一个关键指标,因为它让他们知道资产的流动性水平,以及他们在接近当前价格的情况下买入或卖出头寸的容易程度,这可能是一个移动的 ...

  2. WPF 切换主题使用 luna 复古版本

    本文告诉大家如何在 WPF 里面使用 luna 等复古主题 今天在 lsj 说他准备优化 WPF 的程序集时,准备删除 luna 等程序集时,找到了一段有趣的注释,发现在 WPF 里面可以通过一些有趣 ...

  3. 《Effective C++》第三版-3. 资源管理(Resource Management)

    目录 条款13:以对象管理资源(Use objects to manage resources) 关键想法 智能指针 条款14:在资源管理类中小心copying行为(Think carefully a ...

  4. ruby中的Hash排序

    参考: https://blog.csdn.net/xing102172/article/details/9163607 For example: h={'a'=>2, 'c'=>1, ' ...

  5. Linux — 进程管理

    进程创建 进程通过fork()创建的大致过程: #include <stdio.h> #include <stdlib.h> #include <sys/types.h& ...

  6. ansible系列(32)--ansible实战之部署WEB集群架构(2)

    1. 基础环境role编写 创建基础环境role的相关目录: [root@xuzhichao cluster-roles]# mkdir base-module/{tasks,handlers,fil ...

  7. ansible(3)--ansible的相关命令行工具

    目录 1 ansible命令详解 2 ansible-doc显示模块帮助信息 3 ansible-playbook 4 ansible-galaxy 5 ansible-console 1 ansib ...

  8. leaflet 使用turfjs实现前端自定义插值

    Turf.js官网地址:http://turfjs.org/ Turf.js中的几何数据组织规范以WKT格式为标准.其官网中包含了详细的接口介绍和样例讲解.这里我给出我们需要用的接口: 参考地址: h ...

  9. Ubuntu Snap 简述

    Ubuntu Snaps Ubuntu Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu16.04 LTS(LongTermSupport,长期支 ...

  10. mongodb的备份与恢复详解

    简单 Mongodb导出与导入 1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.所以,都有如下通用选项:-h host 主机--port port 端口-u username ...