码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-04-12 23:03:08      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:elf   ddt   with open   cts   arm   efault   raise   初始化   screens   

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

标签:elf   ddt   with open   cts   arm   efault   raise   初始化   screens   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!