python3 unittest框架失败重跑加截图支持python2,python3

Posted 入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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框架介绍

接口自动化测试框架 -- reudom

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

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

python unittest addCleanup中也加失败截图功能

**失败重跑插件pytest-rerunfailures的详细使用**