前言

在进行自动化测试的过程中,我们一定会有这样的需求:希望失败的用例可以自动重跑

在pytest中,提供了pytest-rerunfailures插件可以实现自动重跑的效果

插件安装

pip命令安装

pip install pytest-rerunfailures

使用实例

重新运行所有失败的用例

如果需要把所有失败的用例都重新运行,使用 --reruns 命令,并且制定要运行的最大次数

举个:

class TestDemo(object):
def setup_class(self):
print("执行setup_class") def teardown_class(self):
print("执行teardown_class") def test_case1(self):
print("执行测试用例1")
assert 1 + 1 == 3 def test_case2(self):
print("执行测试用例2")
assert 1 + 3 == 6 def test_case3(self):
print("执行测试用例3")
assert 1 + 3 == 4

使用命令pytest --reruns 2 -s 执行,结果如下

可以看到,case1和case2被重新执行了2次

如果希望在每次重新执行之间加上间隔时间,可以使用 --reruns-delay 命令行选项,指定下次测试重新开始之前等待的秒数

pytest --reruns 2 --reruns-delay 5 -s,代表自动重跑2次,每次间隔5s

重新运行指定的用例

如果我们在测试时,只希望在某一条测试用例失败后重新执行该如何处理呢

可以使用flaky装饰器 @pytest.mark.flaky(reruns=, reruns_delay=)

参数说明

  • reruns 重跑次数
  • reruns_delay 重新运行的等待时间

举个

import pytest

@pytest.mark.flaky(reruns=2, reruns_delay=3)
def test_case1():
print("执行测试用例1")
assert 1 + 1 == 3 def test_case2():
print("执行测试用例2")
assert 1 + 3 == 6 def test_case3():
print("执行测试用例3")
assert 1 + 3 == 4

运行结果如下:

Pytest学习笔记9-失败重跑的更多相关文章

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

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

  2. pytest 失败重跑截图

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

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

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

  4. pytest失败重跑

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

  5. Pytest学习笔记12-配置文件pytest.ini

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. 常用的配置项 marks 作用:测试用例中添加了自定义标记( ...

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

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

  7. testng增加失败重跑机制

    注: 以下内容引自 http://www.yeetrack.com/?p=1015 testng增加失败重跑机制 Posted on 2014 年 10 月 31 日 使用Testng框架搭建自动测试 ...

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

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

  9. go语言,golang学习笔记4 用beego跑一个web应用

    go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...

随机推荐

  1. 通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

    之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一. ...

  2. Java 正则表达式实例操作

    Regular Expression正则表达式,简称RegExp,常规通用的表达式,在多个开发语言中都有它的实现,可以通过正则表达式来快速的检索.匹配.查找.替换字符串中的文本. 简单实例 匹配网址 ...

  3. [bug] 安装MySQL8.0.15 失败,提示This application requires Visual Studio 2015 x64 Redistributable

    参考 https://blog.csdn.net/weixin_44092289/article/details/88045666

  4. [bug] C++:[Error] name lookup of 'i' changed for ISO '

    错误原因:变量i只在for循环中可见,若在循环外使用需要单独定义 1 #include <iostream> 2 using namespace std; 3 4 int main(){ ...

  5. IDEA 安装 zookeeper 可视化管理插件

    1. 安装 zookeeper 插件 打开 IDEA->Settings->Plugins,然后在 Marketplace 输入 "zookeeper" 如下: 插件安 ...

  6. Linux进阶之Git分布式版本控制系统篇

    一.Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核 ...

  7. sizeof()用法汇总-(转自风雷)

    sizeof()功能:计算数据空间的字节数 1.与strlen()比较       strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素.     ...

  8. static在C/C++中的作用-(转自华山大师兄)

    1.先来介绍它的第一条也是最重要的一条:隐藏.(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.举例来说明.同时编译两个源文件 ...

  9. Jmeter+Ant+Jenkins接口自动化框架

    最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...

  10. vue 安装sass5.0版本遇到的问题

    cnpm install node-sass@4.9.2 --save-dev cnpm install sass-loader@7.3.1 --save-dev cnpm install style ...