测试用例出错重跑--flaky插件
2019独角兽企业重金招聘Python工程师标准>>>
自动化测试的时候,经常会遇到这样的问题:大部分时候执行测试用例都能pass,只是偶然出现false,而出现false的时候是因为外部因素引起,比如WiFi不稳定、使用了第三方插件不稳定等,这些情况下往往重新再执行用例就可以pass。可能遇到这种用例false的情况,我们首先想到的会是去剔除失败的用例,但是这样做不是最明智的做法,当用例数量多的时候,很难去判定哪些用例容易由于第三方因素false。最好的办法是----让出错的用例重跑。
那么如何做到让出错的用例重跑呢?如果你用的是nose或者pytest框架编写用例,就可以使用flaky插件。该插件能够在那些不稳定的case失败之后,重复执行这些case。
1.flaky插件安装
pip install flaky
2.测试脚本中的使用
2.1 将不稳定的case标记为flaky
from flaky import flaky@flaky
def test_func(self):self.assertEqual(1+3,5)
备注:在case方法上方加上@flaky,用例执行失败的时候会默认重新执行一次。
from flaky import flaky@flaky(max_runs=3, min_passes=2)
def test_func(self):self.assertEqual(1+3,5)
备注:flaky接收两个参数:max_runs,min_passes。max_runs表示测试失败之后,会重复执行这个测试的次数。min_passes表示执行max_runs这么多次中,成功的次数>=min_passes的话,则认为这个case就pass了。如上用例表示:执行3次用例中,如果pass次数>=2,则pass.
2.2 将不稳定的测试类标为flaky
from flaky import flaky
@flaky
class testAdd(unittest.TestCase): def test_func(self):self.assertEqual(1+3,5)@flaky(max_run=3)def test_double(self):self.assertEqual(2+6,8)
备注:以上testAdd类下的所有方法都会应用到flaky。test_func失败之后会默认再执行一次。test_double失败之后会重新再执行3次。
3.命令行中使用flaky
3.1 强制所有的测试使用flaky
py.test --force-flaky
3.2设置重复执行的次数
py.test --force-flaky --max-runs=3 --min-passes=2
3.3不输出flaky执行的测试报告
py.test --no-flaky-report
备注:正常情况下,测试完成后将输出flaky的测试报告,该报告中显示了有哪些测试重复执行了以及重复执行的情况。如果不想在测试完成后输出flaky报告,可以在执行测试的时候加上--no-flaky-report参数。
转载于:https://my.oschina.net/u/873595/blog/794820
测试用例出错重跑--flaky插件相关推荐
- pytest_失败用例的重跑机制@pytest.mark.flaky()
执行失败了的用例可以按照一定频率去跑多次,频率+次数. reruns=2 重跑次数 reruns_delay=2 频率 import pytest import os import allure@py ...
- 调度系统批量重跑任务的思考
在调度系统中总会遇到这种场景,上游任务出现数据问题,数据缺失,数据重复.这些问题出现的原因有很多,比如上游业务问题,升级某一调度组件测试覆盖不全面,代码bug等. 出现问题的原因,问题的修复,系统针对 ...
- 【Katalon Studio】失败用例重跑
文章目录 1开启retry 1.1 命令模式启动-python 1.2 界面开启 2 创建监听 1开启retry 1.1 命令模式启动-python python中运行命令,retry次数为2 重点看 ...
- TestNG测试框架之失败测试重跑
前言 在案例执行过程中,往往需要对失败的案例进行重跑,TestNG亦提供相应的实现方案. 示例 当套件中的测试执行失败时,TestNG都会创建一个名为testng-failed.xml的文件,该XML ...
- testng重跑和框架亮点
testng重跑设置: tr.setAttribute("RETRY", new Integer(count)); //次数 第一种重跑方式:实现retry listener Te ...
- 如何解决testng执行用例失败自动重跑问题
如何解决testng执行用例失败自动重跑问题 参考文章: (1)如何解决testng执行用例失败自动重跑问题 (2)https://www.cnblogs.com/cheese320/p/847864 ...
- testNG-失败用例重跑机制
下面简单介绍下testNG的失败重跑的实现方法: 1.首先编写一个类,实现IRetryAnalyzer类,重写其中的retry方法. public class TestNGRetry implemen ...
- G1D33-BTG复现重跑实验
一.复现BTG 复现很简单,所以就记录一些乱七八糟的叭 (一)传参 传是否使用cuda的参数的时候,发现传True会报错,后来查到链接 https://stackoverflow.com/questi ...
- TestNG监听器实现失败自动截图、重跑、自定义html结果文件功能
本文转载自孔庆云kevin<TestNG监听器实现失败自动截图.重跑.自定义html结果文件功能> 使用Testng框架搭建自动测试框架,经常会需要增加失败自动截图,以及失败重跑功能,下面 ...
最新文章
- 深入浅出ShellExecute
- 常用英文搜索引擎及特点
- list类型的应用场景 —— Redis实战经验
- ADO.NET复习总结(4)--访问SqlServer的类
- Spring 声明式事务在业务开发中容易碰到的坑总结
- python函数命名空间_python (函数命名空间和作用域)
- 01-MySQL安装、配置和使用
- Javascript浏览器事件(上)
- Tableau Desktop 2021中文免费版下载(包含其它历史版本)
- python代码申请软件著作权_python自动化生成软件著作权的源代码
- 手机麦克风结构原理图_一文看懂咪头的工作原理及结构(驻极体话筒)
- 易优cms设置完伪静态之后,产品板块出现404
- iOS 修改系统定位(非越狱)
- 北京大学计算机学院复试名单2021,北京大学2021拟录取推免研究生毕业院校统计,多位来自非211高校...
- 计算机的自带拍视频教程,电脑如何录制视频并剪辑
- iPhone铃声制作软件iRingg for Mac
- 《用图表说话》读后感
- 斯伦贝谢宣布用债券交换斯伦贝谢控股公司的三种优先票据
- 全国高精度数字高程模型 精度为5m的dem
- Android SDK Windows 安装及环境配置教程