Pytest学习笔记9-失败重跑
前言
在进行自动化测试的过程中,我们一定会有这样的需求:希望失败的用例可以自动重跑
在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-失败重跑的更多相关文章
- Pytest(4)失败重跑插件pytest-rerunfailures
安装: pip3 install pytest-rerunfailures 重新运行所有失败用例 要重新运行所有测试失败的用例,请使用--reruns命令行选项,并指定要运行测试的最大次数: $ py ...
- pytest 失败重跑截图
1.环境准备 /*@param: 作者:流浪的python Date:2019/01/19 env:python 3.7(由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9 ...
- pytest文档8-html报告报错截图+失败重跑
前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.p ...
- pytest失败重跑
一.说明 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例 ...
- Pytest学习笔记12-配置文件pytest.ini
前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. 常用的配置项 marks 作用:测试用例中添加了自定义标记( ...
- 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)
使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...
- testng增加失败重跑机制
注: 以下内容引自 http://www.yeetrack.com/?p=1015 testng增加失败重跑机制 Posted on 2014 年 10 月 31 日 使用Testng框架搭建自动测试 ...
- testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...
- go语言,golang学习笔记4 用beego跑一个web应用
go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...
随机推荐
- [在学习Django框架之前所需要了解的知识点]
[在学习Django框架之前所需要了解的知识点] Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现 ...
- 风变编程(Python自学笔记)第10关-工作量计算器
1.%f的意思是格式化字符串为浮点型,%.1f的意思是格式化字符串为浮点型,并保留1位小数. 2.向上取整:ceil() 使用ceil()方法时需要导入math模块,例如 1 >>> ...
- ubuntu下载安装软件并创建图标
本列以安装webstorm软件 1.官网下载软件的压缩包 2.解压 umlinux@umlinux-PC:~/idea$ tar -zxvf ideaIU-2020.3.1.tar.gz 3.找到we ...
- QTableWidget - 基础讲解(1)
转载:http://www.cnblogs.com/fuqia/p/8904196.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到 ...
- dpkg 比rpm好用 常用没命令 UbuntuVS RHEL
yum install (必须先执行apt update)apt install yum remove(危险禁止使用) apt remove(危险禁止使用) rpm -Uvh ...
- mysql 配置文件概述
mysql 配置文件概述 mysql 配置文件 mysql 的配置文件为 /etc/my.cnf 配置文件查找次序:若在多个配置文件中均有设定,则最后找到的最终生效 /etc/my.cnf --> ...
- linux .tar.xz 文件解压和压缩
场景:centos7.0下文件格式为xxx.tar.xz,解压和压缩命令: 压缩 tar -Jcf linux-3.10.0-123.13.1.el7.tar.xz(文件名) linux-3.10.0 ...
- shell基础之exit,break,continue
exit代码: 1 #!/bin/bash 2 echo "Is it morning? Please answer yes or no." 3 read YES_OR_NO 4 ...
- idea开发web项目框架失效和无法启动问题
不会配置idea的javaweb环境的小伙伴可以点击此链接 idea最新版,配置javaweb环境 很多小伙伴用idea开发web项目可能会出现所有代码都写对了但是无论如何都没法运行的情况,eclip ...
- Step By Step(Lua基础知识)
Step By Step(Lua基础知识) 一.基础知识: 1. 第一个程序和函数: 在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如: /> l ...