需安装第三方插件: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. 七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接

    前言 上一章节我们引入BootstrapBlazor UI组件完成了EasySQLite后台界面的基本架子的搭建,本章节的主要内容是Blazor班级管理页面编写和接口对接. 七天.NET 8 操作 S ...

  2. dotnet 读 WPF 源代码笔记 聊聊 HwndWrapper.GetGCMemMessage 调试消息

    我在阅读 WPF 源代码,在 HwndWrapper 的静态构造函数看到了申请了 HwndWrapper.GetGCMemMessage 这个 Windows 消息,好奇这个消息是什么功能的.通过阅读 ...

  3. kubenetes1.26中安装kubesphere3.4版本

    一.安装前环境准备 # kubesphere官网:https://kubesphere.io/zh/docs/v3.4/introduction/what-is-kubesphere/ # 1.kub ...

  4. 野火 STM32MP157 开发板 UBOOT 编译烧写

    一.环境 编译环境:Ubuntu 版本:20.4.1 交叉编译工具:arm-none-eabi-gcc 版本:10.3.1 开发板:STM32MP157 pro 烧写软件:STM32CubeProgr ...

  5. java 高并发下超购问题解决

    //@desc:java 高并发下锁机制初探 //@desc:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> //@date:2021/1 ...

  6. vue-cli快速搭建项目的几个文件(二)

    =======ggcss样式======== :root{     --bgColor : #d3252a;     --pinkColor : #ff4e81;     --textColor :  ...

  7. 基于 RedHat 系的 Linux 常用命令 & 常见系统设定

    闲言碎语 除特定指明外,本文默认基于 RedHat Enterprise Linux 8+ 的阐述. 基于CentOS推出的开源系统,国内的阿里推出Anolis OS,华为的OpenEuler.为填补 ...

  8. 分享一张2020年用jaegertracing画的tomcat8.5启动流程图

    今天整理电脑的时候意外发现一张tomcat8.5的启动流程图,是笔者2020年借助jaegertracing绘制的,想想还比较有意思,在这里分享一下,当初闲来无事折腾了小半天,具体过程已经是记不起来了 ...

  9. cuBlas API Launch Latency 耗时异常分析记录

    一.背景 最近在做 AI 编译器生成 Kernel 支持 Bert 模型训练调优工作,在分析 bert 的timeline中发现,在每个 step 的前两个 cinn_instruction_run ...

  10. NASM中的内存引用

    NASM对于内存的引用规则非常简单,如果想访问内存中的内容,就将地址用[]包围,如果没有[],就表示是地址本身,而不是内容. mov ax,[wordvar] mov ax,[wordvar+1] m ...