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 webdriverimport 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 HTMLTestRunnerimport unittestimport 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()



原文地址:https://www.cnblogs.com/SunshineKimi/p/10699163.html

时间: 2024-08-19 12:24:57

python3 unittest框架失败重跑加截图支持python2,python3的相关文章

pytest_html报告报错截图+失败重跑

前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.py文件里,这样用例运行时,只要检测到用例实例,就调用截图的方法,并且把截图存到html报告上 # conftest.py文件 # coding:utf-8 from selenium import webdriver import pytest driver = None @pytest.mark.

selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)【转载】

优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 优化点击截图放大不清晰问题 增加饼图统计 失败后重试功能 兼容python2.x 和3.x 报告效果 1.生成的测试报告效果如下图,默认展示报错和异常的用例,失败重试的用例结果也会统计进去. 2.点击显示截图,可以直接显示截取的图片,无需保存到本地 table表格 1.修改表格的td后面内容,可以

Python Unittest框架用例执行失败自动截图

原生的unittest框架是不支持case失败后自动截图功能,网上的解决办法,大体上分为两种: 1.加装饰器 可参考让unittest框架在fail时自动截图的装饰器.给测试用例添加多个装饰器的问题 (python unittest.TestCase) 2.封装断言 可参考Getting Python's unittest results in a tearDown() method.python 自动化测试,求助:如何判断用例断言失败后自动截图 原文地址:https://www.cnblogs

RF失败案例重跑

1.1        失败案例重跑 该功能主要是针对上次连跑失败的案例需要重新执行测试的情况,可自动识别上次执行失败的案例并进行重跑,无需手动选择相应的案例,简单高效. 1.5.1.        重跑项目失败案例 命令格式:"pybot -R 上次执行失败的output.xml文件所在路径 -d 本次重跑结果output.xml文件保存路径 项目所在路径", 其中的参数包括"上次执行失败的output.xml文件所在路径"."本次重跑结果output.x

Airflow 重跑dag中部分失败的任务

重跑dag中部分失败的任务 例如 dagA 中, T1 >> T2 >> T3 >> T4 >> T5  ,其中 T1 T2 成功, T3 失败, T4  T5因为依赖 T3,也不会运行. 跳过 T1   T2  重跑 T3 T4 T5 的方法是: (1)点击 T3 clear ,默认会clear T4  T5 的状态 (2)返回到上一级,点击 dagA 名字,点击 Recursive 和 Downstream (airflow的界面,看不出来到底有没有选择

第9课:备份mysql数据库、重写父类、unittest框架、多线程

1. 写代码备份mysql数据库: 1)Linux下,备份mysql数据库,在shell下执行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可 import os import datetime class BakDb(object): def __init__(self, ip, username, passwd, port=3306, path='/tmp/db_bak'): self.ip = ip self.username = username

python - 简述unittest框架

简述unittest框架 unittest单元测试框架不仅可以适用于单元测试,还可以适用web UI 和 接口 API 自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 一.unittest结构概览 unittest中最核心的四个概念是:test fixture.test case, test suite, test runner/report 1.test fixture ① setup():每个测试函数运行前运行 ②

Unittest框架+ddt数据驱动+HTMLTestRunner+sendmail(自动发送测试报告)+git+Jenkins

本次写的是针对有代码基础的,没基础建议先去学基础,以下所有描述内容都是我已经在公司项目实践成功的!仅供参考 整体思路: 1.接口自动化用的是Python中unittest框架 2.所有的测试数据用例存放Excel表 3.封装一套读取和写入的Excel方法 4.重写request方法(为了从Excel读取数据后对数据作分析和判断并在测试报告生成相关信息) 5.通过HTMLTestRunner运行测试用例生成网页版报告 6.将自动化脚本放到公司git上,方便其他人员获取你的代码进行编写脚本,后面会具

Python unittest框架实现appium登录

import unittest from appium.webdriver import webdriver from ddt import data,ddt,unpack class MyTestCase(unittest.TestCase): def setUp(self):#准备的过程 desired_caps = {} desired_caps["platformName"] = "Android" desired_caps["platformVe