unittest实现用例运行失败截图
把这个方法放到父类basecase(unittest.TestCase)就行了
#coding: utf-8 import unittest, random, os, traceback
from selenium import webdriver SCREENSHOT_DIR = 'D:\\'
class Test1(unittest.TestCase): def setUp(self):
self.driver = webdriver.Chrome('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe') #重新赋值failureException,注意:failureException的值是一个类,不是类实例
self.failureException = self.failure_monitor() def failure_monitor(self):
test_case = self #将self赋值给test_case,以便下方的AssertionErrorPlus内部类可调用外部类的方法 class AssertionErrorPlus(AssertionError):
def __init__(self, msg):
try:
cur_method = test_case._testMethodName #当前test函数的名称
unique_code = ''.join(random.sample('',5)) #随机生成一个值,以便区分同一个test函数内不同的截图
file_name = '%s_%s.png' % (cur_method, unique_code)
test_case.driver.get_screenshot_as_file(os.path.join(SCREENSHOT_DIR, file_name)) #截图生成png文件
print('失败截图已保存到: %s' % file_name)
msg += '\n失败截图文件: %s' % file_name
except BaseException:
print('截图失败: %s' % traceback.format_exc()) super(AssertionErrorPlus, self).__init__(msg) return AssertionErrorPlus #返回AssertionErrorPlus类 def test1(self):
self.assertEqual(0, 1, '错误提示') if __name__ == "__main__":
unittest.main()
unittest实现用例运行失败截图的更多相关文章
- TestNG监听器实现用例运行失败自动截图、重运行功能
注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng ...
- TestNG实现用例运行失败自动截图(转载)
转载自:https://blog.csdn.net/galen2016/article/details/70193684 重写Listener的onTestFailure方法 package com. ...
- Selenium2+python自动化66-装饰器之运行失败截图【转载】
前言 对于用例失败截图,很多小伙伴都希望在用例执行失败的时候能自动截图,想法是很好的,实现起来并不是那么容易. 这里分享下我的一些思路,当然目前还没找到完美的解决方案,我的思路是用装饰器去解决,希望有 ...
- python unittest addCleanup中也加失败截图功能
在python web自动化测试中失败截图方法汇总一文中提到了失败截图的方法 但在实际测试中,如果我们的测试用例中加了addCleanups动作,如果addCleanups中动作失败了,就不会截图.那 ...
- HTMLTestRunner 汉化版---来源一个大神的源码(加了失败截图,用例失败重新执行 功能)
HTMLTestRunner 汉化版 20170925 测试报告完全汉化,包括错误日志的中文处理 针对selenium UI测试增加失败自动截图功能 增加失败自动重试功能 增加饼图统计 同时兼容pyt ...
- pytest文档47-allure报告添加用例失败截图
前言 使用 selenium 做 web 自动化的时候,很多小伙伴希望用例失败的时候能截图,把异常截图展示到allure报告里面. pytest 有个很好的钩子函数 pytest_runtest_ma ...
- testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...
- 【框架】selenium运行失败后自动截图(三)
思路: 1.写一个类继承TestListenerAdapter,覆写onTestFailure()方法 2.在onTestFailure方法里,调用selenium的TakesScreenShot的g ...
- python unittest case运行失败重试
因为使用unittest进行管理case的运行.有时case因为偶然因素,会随机的失败.通过重试机制能够补充保持case的稳定性.查阅资料后发现,python的unittest自身无失败重试机制,可以 ...
随机推荐
- 浙工大新生赛莫队处理+区间DP+KMP+分析题
题目描述 读入一个长度为n的整数数列a1,a2,…,an,以及一个整数K. q组询问. 每组询问包含一个二元组(l, r), 其中1≤l≤r≤ n, 求所有满足以下条件的二元组(l2, r2)的数目: ...
- 首字母变大写(hdu2026)
输入方式:直接循环输入带有空格的未知长度的字符串. 思考:直接循环输入带有空格的未知长度的字符串,用while(gets_s())函数,循环内外不用getchar()函数.(注意,每次字符串以整体输入 ...
- c# 优化代码的一些规则——使用is或as和强制类型转换的区别[三]
前言 使用as和强制类型转换的时候的区别是否仅仅是代码形式上的区别. 答案是肯定不是的. 正文 看两段代码: object o = Factory.GetObject(); Student stude ...
- 【JAVA习题七】输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
package erase; import java.util.Scanner; public class 字符串分类 { public static void main(String[] args) ...
- 01 . 前端之HTML
初识前端 HTML简介历史 HTML(Hyper Text Markup Language)超文本标记语言,它不同于编程语言 超文本就是超过纯文本的范畴,例如描述文本的颜色.大小.字体等信息,或使用图 ...
- jchdl - RTL实例 - Adder
https://mp.weixin.qq.com/s/9S29BCTcJfbpR62ALjSidA 加法器. 参考链接 https://github.com/wjcdx/jchdl/blob/ ...
- 一文说通Dotnet Core的中间件
前几天,公众号后台有朋友在问Core的中间件,所以专门抽时间整理了这样一篇文章. 一.前言 中间件(Middleware)最初是一个机械上的概念,说的是两个不同的运动结构中间的连接件.后来这个概念 ...
- Java实现 LeetCode 688 “马”在棋盘上的概率(DFS+记忆化搜索)
688. "马"在棋盘上的概率 已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始.即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1). 现有 ...
- java实现祖冲之割圆法
祖冲之割圆法 南北朝时,我国数学家祖冲之首先把圆周率值 计算到小数点后六位,比欧洲早了1100年!他采 用的是称为"割圆法"的算法,实际上已经蕴含 着现代微积分的思想. 如图[1. ...
- LB服务,软LB的服务能力(下)
[摘要] 现在常用的LB软件,主要是LVS和nginx.普通情况下,LVS主要负责四层负载均衡,nginx负责七层.当然,业界也有友商基于LVS做出了七层负载均衡.本篇主要讲一下LVS的工作模式及各种 ...