python3 unittest框架失败重跑加截图支持python2,python3
github源码地址下载:https://github.com/GoverSky/HTMLTestRunner_cn.git
解压文件后取出/HTMLTestRunner_cn.py文件丢进C:\Python37\Lib\site-packages目录下

如何使用报告截图重跑机制:how to use it ?
代码编写注意事项:该模板暂时不支持setup初始化驱动driver,而且初始化驱动必须取名driver,关于 HTMLTestRunner
新增参数 retry=1表示失败后重跑的次数,save_last_try=True表示最终报告展示只要最后一次失败重跑的结果,False则每次结果都要
from selenium import webdriver
import unittest class case_01(unittest.TestCase): @classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome() @classmethod
def tearDownClass(cls):
cls.driver.quit() def add_img(self):
"""书写一个添加截图b64的方法"""
self.imgs.append(self.driver.get_screenshot_as_base64())
return True def setUp(self):
"""
在是python3.x 中,如果使用setup模式初始化driver ,因为3.x版本 unittest 运行机制不同,
会导致用力失败时截图失败目前不支持setup失败截图,关于addCleanup内置函数是
如果setUp()方法执行失败,那么不会执行tearDown()方法,但是会执行addCleanup()里添加的函数。
"""
self.imgs = []
self.addCleanup(self.cleanup) def cleanup(self):
pass def test_case1(self):
""" 正面通过用例Test"""
print("测试"*10)
self.driver.get("https://www.baidu.com")
self.driver.find_element_by_id('kw').send_keys(u'百度一下') def test_case2(self):
"""失败重跑Test"""
self.driver.get("https://mail.163.com/")
raise TypeError 调用报告模板代码
from HTMLTestRunner_cn import HTMLTestRunner
import unittest
import os def suites(testPath):
discover = unittest.defaultTestLoader.discover(testPath, pattern='test*.py', top_level_dir=None)
return discover def run(suite, htmlPath):
with open(htmlPath, 'wb') as f:
runner = HTMLTestRunner(stream=f, title="ddt report",
description="测试报告:",
verbosity=3,retry=1,save_last_try=True)
runner.run(suite) def main():
testPath=os.getcwd()
htmlPath=r'C:\Users\Administrator\PycharmProjects\Supro\lib\report\failTest.html'
run(suites(testPath),htmlPath) if __name__ == '__main__':
main()

python3 unittest框架失败重跑加截图支持python2,python3的更多相关文章
- pytest文档8-html报告报错截图+失败重跑
前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.p ...
- testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...
- pytest 失败重跑截图
1.环境准备 /*@param: 作者:流浪的python Date:2019/01/19 env:python 3.7(由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9 ...
- testng增加失败重跑机制
注: 以下内容引自 http://www.yeetrack.com/?p=1015 testng增加失败重跑机制 Posted on 2014 年 10 月 31 日 使用Testng框架搭建自动测试 ...
- 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)
使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...
- TestNg失败重跑—解决使用 dataProvider 参数化用例次数冲突问题
问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题 ...
- RF实现多次失败重跑结果合并的基础方法和优化方法
实现思路:通过分次执行失败案例重跑,然后通过结果文件合并命令实现多次失败重跑结果文件的合并,并输出合并后的log和report文件: 说明:具体失败案例重跑命令和结果文件合并命令请参考本博客其他相关章 ...
- testng失败重跑
重跑失败场景 1.要添加两个文件 背景:因为这里只是想单独展示失败的重跑的案例,所以先暂时把app这块的运行注释掉,只跑一个简单的demo,就一个简单类,类中就3个测试方法,失败重跑的原理是,运行方法 ...
- pytest失败重跑
一.说明 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例 ...
随机推荐
- Tomcat启动慢原因之一 At least one JAR was scanned for TLDs yet contained no TLDs
Tomcat启动时提示: 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging f ...
- vue项目中引入bootstrap
(1)引入Jquery文件,需要在bootstrap.min.js 之前引入. 1.npm install jquery --save-dev 2. plugins: [ new webpack.Pr ...
- 转:PHP导出excel文件的几种方式
PHP导出excel文件的几种方式 文章来源:http://www.cnblogs.com/fredshare/archive/2012/10/29/2744243.html 先说说动态生成的内容当作 ...
- MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...
- Android资源文件说明
一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...
- linux rpm命令之查询包安装与否、包详细信息、包安装位置、文件属于哪个包、包依赖
查询这个包是否已安装rpm -q 包名rpm -qa-q 查询-a all 查询已安装软件包和未安装软件包详细信息 rpm -qi 包名rpm -qip 包全名-i 查询软件信息-p package, ...
- sql 中的注释
1.单行注释 “-- ” 即:两个中滑线加一个空格 2.多行注释 "/* ... */" 示例: -- 单行注释 /* 多行注释*/ create table test(id i ...
- 深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)
相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient ...
- c# 多线程之-- System.Threading Timer的使用
作用:每隔多久去执行线程里的方法. class ThreadTimerDemo { static void Main(string[] args) { // Create an AutoResetEv ...
- oracle 闪回功能详解
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前 ...