Pytest 失败重运行
需安装第三方插件: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 失败重运行的更多相关文章
- pytest - 失败重运行机制:rerun
失败重运行机制 用例失败的情况下,可以重新运行用例 一旦用例失败,马上重新运行 安装插件:pip install pytest-rerunfailures 使用命令:--reruns 重试次数 如 - ...
- pytest框架之rerunfailures失败重运行机制
web自动化测试中,稳定性在整个测试运行中都至关重要,但不能保证测试脚本或者测试环境一直都能够稳定,它牵扯到诸多因素,在这里就不赘述,pytest框架相较于unittest的一大优势就在于拥有用例失败 ...
- pytest 失败重跑截图
1.环境准备 /*@param: 作者:流浪的python Date:2019/01/19 env:python 3.7(由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9 ...
- pytest失败重跑
一.说明 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例 ...
- selenium实现失败重运行
UI自动化脚本执行过程中存在非常多的不稳定性,例如网络的不稳定,浏览器无响应等等,这些失败往往并不是产品中的错误.那么这时我们往往需要对执行失败的测试用例进行多次重跑,确认其是否确实失败. 那么失败重 ...
- pytest「conftest、pytest参数化、重运行、出测试报告」
文章总览图 一.conftest问题整理: 1.这个conftest.py分路径吗?如果在TestCases下建这个包可以直接用吗? TestCases这里有ModeA和ModeB,想在ModeA或M ...
- TestNG监听器实现用例运行失败自动截图、重运行功能
注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng ...
- pytest文档8-html报告报错截图+失败重跑
前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.p ...
- Pytest插件pytest-rerunfailures失败重跑
Pytest插件pytest-rerunfailures失败重跑 安装 pip install pytest-rerunfailures doc https://github.com/pytest-d ...
- 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)
使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...
随机推荐
- [Mobi] 什么是手机 Root 和 Magisk、Magisk App
手机进行 Root 操作就是让我们能够拥有超级权限,包括被手机厂商所禁止的一些操作. 传统 Root 手段会修改系统文件,因而一些安全性要求较高的 App 会禁止自己在 Root 过的手机上运行. M ...
- 在 UOS 统信运行 dotnet 程序提示没有通过系统安全验证无法运行
本文记录 dotnet 应用程序在 UOS 统信系统上运行时,提示 没有通过系统安全验证,无法运行 的问题 这个问题是因为没有开启 UOS 统信的开发者模式,直接将自己构建完成的包放上去跑导致的问题 ...
- WPF 给 Pen 的 DashStyle 设置 0 0 的虚线数组将会让渲染线程消耗大量 CPU 资源
给 WPF 的 Pen 的 DashStyle 属性设置 0 0 的虚线,在绘制几何图形时,绘制的几何图形的尺寸将关联渲染线程所使用的 CPU 资源.大约在周长大于 500 时,将可以从任务管理器上看 ...
- 012_DRC检查与处理
Check entire design:DRC检查整个原理图: Check Selection:DRC检查选择的部分电路: Use occurrences:选择所有事件进行检查: Use instan ...
- vue关于this.$refs.tabs.refreshs()刷新组件,缓存
当更改了用户信息后,需要刷新页面或者组件. 1.当前组件刷新.定义一个请求用户信息的方法,在需要时调用: sessionStorage.setItem('userInfo',JSON.stringif ...
- 【爬虫+情感判定+Top10高频词+词云图】"乌克兰"油管热评python舆情分析
目录 一.分析背景 二.整体思路 三.代码讲解 3.1 爬虫采集 3.2 情感判定 3.3 Top10高频词 3.4 词云图 四.得出结论 五.同步视频演示 六.附完整源码 一.分析背景 乌克兰局势这 ...
- 【简说Python WEB】Flask应用的单元测试
[简说Python WEB]Flask应用的单元测试 tests/test_basics.py import unittest from flask import current_app from a ...
- gin框架对接快递100 查询快递跟踪记录 Golang实现快递查询
参考ui效果: https://www.kuaidi100.com/?from=openv gin框架: 请求地址 http://localhost:8822/kd100/auto_com_num?n ...
- mod操作符效率高吗?
编程语言中mod取余操作符%的效率不是很高,比如M = N % 10,它花费得时间本机测试是1ms,而如果使用M = N - N / 10 * 10,则只需要0.1ms. 所以平时变成得时候,可以尽量 ...
- WEB服务与NGINX(3)-NGINX基础及配置文件
WEB服务与NGINX(3)-NGINX基础及配置文件 目录 WEB服务与NGINX(3)-NGINX基础及配置文件 1. NGINX初识与安装 1.1 NGINX特性 1.2 NGINX功能和应用场 ...