HTMLTestRunner 汉化版---来源一个大神的源码(加了失败截图,用例失败重新执行 功能)...

HTMLTestRunner 汉化版

  • 20170925
    • 测试报告完全汉化,包括错误日志的中文处理
    • 针对selenium UI测试增加失败自动截图功能
    • 增加失败自动重试功能
    • 增加饼图统计
    • 同时兼容python2.x 和3.x
  • 20180402
    • 表格样式优化
    • 修复部分bug
    • 增加截图组,可展示多张截图,首次打开自动播放
    • 增加仅展示最后一次运行结果,多次重试时,每个测试用例仅展示一次

报告汉化

selenium 截图

截图功能根据测试结果,当结果为fail或error时自动截图 截图方法在_TestResult 的测试结果收集中,可以根据自己使用的框架不同自行调整,selenium 使用的是get_screenshot_as_base64 获取页面截图的base64编码,避免了图片文件的问题 

因此要提取用例中的driver变量获取webdriver对象,所以要实现截图功能必须定义在用例中定义webdriver 为driver

def setUp(self):self.imgs=[]  # (可选)初始化截图列表 self.driver = webdriver.Chrome()

也可以在测试过程中某一步骤自定义添加截图,比如

  

生成报告后会统一进行展示 截图播放效果 

用例失败重试

根据unittest的运行机制,在stopTest 中判断测试结果,如果失败或出错status为1,判断是否需要重试;

 

在实例化HTMLTestRunner 对象时追加参数,retry,指定重试次数,如果save_last_try 为True ,一个用例仅显示最后一次测试的结果。

HTMLTestRunner(title="带截图的测试报告", description="小试牛刀", stream=open("sample_test_report.html", "wb"), verbosity=2, retry=2, save_last_try=True)

如果save_last_try 为False,则显示所有重试的结果。

HTMLTestRunner(title="带截图的测试报告", description="小试牛刀", stream=open("sample_test_report.html", "wb"), verbosity=2, retry=2, save_last_try=False)

运行中输出效果如下: 

 

 

url: https://github.com/GoverSky/HTMLTestRunner_cn/blob/master/README.md

源码url: https://github.com/GoverSky/HTMLTestRunner_cn/blob/master/HTMLTestRunner_cn.py 自己也在百度云收藏(百度云那个可能太老了,我自己github已收藏大神的库)

 

 

后记:

下载源码,和HTMLTestrunner.py文件用法一样

 

retry,用例执行失败后指定重试次数,

如果save_last_try 为True ,一个用例仅显示最后一次测试的结果。

                        为True,则展示全部测试结果。

verbosity=2 为信息输出控制台的展示方式

retry,指定重试次数

转载于:https://www.cnblogs.com/kaibindirver/p/9436649.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilder

一.问题描述&#xff1a;pom.xml导入依赖时报错 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilder 二.解决方法&#xff1a; 1.加入ali镜像源 <repositories><repository><id>maven-ali</id><url>https://mave…

你很棒的---自我管理方法,一生受用!!!

激励自己--自我暗示 每天写下五件幸福的事 &#xff1a;&#xff08;例12月2日周日&#xff09;1、给爸妈各买了一件衣服 2、出门晒了一下太阳 3、认识了一个新朋友&#xff0c;去了青年湖公园&#xff0c;人生就是一种经历&#xff01;4、看了场电影《命运呼叫转移》悟人生真…

持续集成与自动化部署 - jenkins sonar代码质量管理平台 部署和基础使用(五)...

1 jenkins 安装参考链接 1.1 安装jenkins [roottest-node3 ~]# yum install -y java-1.8.0 [roottest-node3 ~]# cd /etc/yum.repos.d/ [roottest-node3 yum.repos.d]# wget http://pkg.jenkins.io/redhat/jenkins.repo [roottest-node3 yum.repos.d]# rpm --import http://pkg…

【转】数学与编程——求余、取模运算及其性质

一、求余运算&#xff08;Remainder&#xff09; &#xff08;参考维基百科&#xff1a; http://zh.wikipedia.org/wiki/余数 http://en.wikipedia.org/wiki/Remainder http://en.wikipedia.org/wiki/Euclidean_divisionhttp://zh.wikipedia.org/wiki/同余&#xff09; Euclid…

javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer‘s close_notify

1. 问题描述&#xff1a; ** BEGIN NESTED EXCEPTION ** javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peers close_notifySTACKTRACE:javax.net.ssl.SSLException: closing inbound before receiving peers close_notifyat sun.security.ssl.Alert.…

多线程原理分析面试题理解

系列前言 本系列是本人参加微软亚洲研究院&#xff0c;腾讯研究院&#xff0c;迅雷面试时整理的&#xff0c;另外也加入一些其它IT公司如百度&#xff0c;阿里巴巴的笔试面试题目&#xff0c;因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”&#xff…

Could not load driverClass “com.mysql.jdbc.Driver“

1. 问题描述 Could not load driverClass “com.mysql.jdbc.Driver” 2. 解决办法 检查是否成功导入了mysql的jdbc的jar包 导入后成功解决 参考文献&#xff1a; https://blog.csdn.net/weixin_43433032/article/details/98494228 感谢作者分享&#xff01;

Django的models操作

一、先看单表操作 增 方式1&#xff1a; models.book.objects.create(Book_name "aaa",Book_info "bbb",Book_price "ccc",Book_num "ddd")方式2&#xff1a;用2个*号传递一个字典进去  book_info {"Book_name":"…

ngingx安装错误 ./configure: error: the HTTP rewrite module requires the PCRE library.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. ngnix 安装报错&#xff1a; 2. 解决&#xff1a; 安装pcre-devel解决问题&#xff0c;运行命令 yum -y install pcre-devel 3.…

实习期间的一些思考整理(3)2018.4.12~4.13

青云诀游戏体验日报-2018.4.12 今日关键点&#xff1a;核心玩法 青云诀的核心玩法是“战斗”、“成长”、“探索”&#xff08;这三点也是RPG类型的要素&#xff09;&#xff0c;侧重于成长。 我是这样想的&#xff0c;要想找出核心玩法是什么&#xff0c;就要看哪些玩法没了&a…

js之base64上传图片

首先要搭建好springmvc&#xff0c;详见https://www.cnblogs.com/zzb-yp/p/9295397.html 整体思路&#xff1a;前端代码包括显示和传参&#xff08;这里的参数主要就是图片的base64字符串&#xff09;&#xff0c;显示主体部分是type“file”类型的input组件和一个提交按钮 …

WPF 使用皮肤影响按钮自定义

在WPF项目中使用了 Theme的皮肤后&#xff0c;发现自定义的按钮全部都是 皮肤里面的样式&#xff0c;如下图&#xff1a; 要自定义样式&#xff0c;只有不给按钮使用皮肤样式。 如果想给某一个控件使用样式&#xff0c;在前端Xaml的控件中&#xff0c;设置一下属性即可&#xf…

树链剖分 讲解+模板+习题

今天我们来讲一下树链剖分 树链剖分是什么&#xff1f; 树链剖分是一种用来维护树上路径信息的在线方法&#xff0c;可以处理在线。 通常通过一种方法&#xff0c;将一棵树剖分成若干条链&#xff0c;然后通过数据结构&#xff08;线段树&#xff0c;BIT等&#xff09;去维护。…

navicat 批量插入 测试数据

1. 前言 遇到线上大sql执行较慢, 10s, 做优化改进时&#xff0c;首先想到的是在本地造出一个类似的库环境&#xff0c;先本地实验。 然后往表中创建大量数据... 2. 方案 利用mysql函数来插入大量数据 代码 BEGIN#Routine body goes here... DECLARE id int; DECLARE driverid …

36--斐波那契数列

1. 问题描述 写一个函数&#xff0c;输入n&#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始&#xff0c;之后的斐波那契数…

从拿到班车手册.xls到搜索附近班车地点

起因 七月份要去某厂报道了&#xff0c;异地租房的时候发现想租一个有公司班车的地方&#xff0c;却不知道哪里有班车。辗转流传出班车手册后发现搜索实在是太不方便了&#xff0c;于是有了一个主义&#xff0c;想做一个可以搜索房子地址&#xff0c;找出附近班车点&#xff08…

py 5.24

#面向对象 #类&#xff1a;模子。Person&#xff0c;不具体。 #实例/对象&#xff1a;依托于类产生的具体的带有属性的。alex #实例化&#xff1a;产生对象的过程。 alex Person() #类&#xff1a; #分为静态属性&#xff08;一般的变量&#xff09;。动态属性(函数&#xff0…

多线程原理实例应用详解

从单进程单线程到多进程多线程是操作系统发展的一种必然趋势&#xff0c;当年的DOS系统属于单任务操作系统&#xff0c;最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务"&#xff0c;而如今的Win32操作系统却可以一边听音乐&#xff0c;一边编程&#xff0…

字符装换

2019独角兽企业重金招聘Python工程师标准>>> 字母大小写转换 a →A char toUpperCase( char ch){ if((ch >a) && (ch <z)){ return (char)(ch - 32); // 主要 这里(char)是必要的&#xff0c;因为char -32是返回的数值&#xff0c;必须转换成对应的字…