selenium之unittest框架为项目添加测试报告:htmltestrunner_py3
先把这个包下载下来:链接: https://github.com/search?q=HTMLTestRunner_PY3.下载后HTMLTestRunner_PY3.py放到python安装目录/Lib下,如我的路径为:C:\Users\XXX\AppData\Local\Programs\Python\Python36\Lib代码:from HTMLTestRunner_PY3 import H
·
先把这个包下载下来:
链接: https://github.com/search?q=HTMLTestRunner_PY3.
链接:https://pan.baidu.com/s/18Ktg6iJ0HH5tOZSFcGdrGg
提取码:v2b7
复制这段内容后打开百度网盘手机App,操作更方便哦
下载后HTMLTestRunner_PY3.py放到python安装目录/Lib下,如我的路径为:C:\Users\XXX\AppData\Local\Programs\Python\Python36\Lib
代码:
from HTMLTestRunner_PY3 import HTMLTestRunner
比如test.py文件运行后的报告
import unittest
from HTMLTestRunner_PY3 import HTMLTestRunner
import os
import time
class TestTest(unittest.TestCase):
""" 测试HTMLTestRunner """
def setUp(self):
self.a = 1
self.b = 2
self.c = [1, 2, 3]
def test_a_plus_b(self):
""" a + b = 3 这个用例应该通过"""
print('a + b = 3')
self.assertEqual(self.a+self.b, 3)
def test_a_minus_b(self):
""" a - b = 3 这个用例应该失败 """
print('a - b = 3')
self.assertEqual(self.a-self.b, 3)
def test_a_multi_b(self):
""" a * b = 2 这个用例应该成功"""
print('a * b = 2')
self.assertEqual(self.a*self.b, 2)
def test_a_divide_c(self):
""" a / c = 1 这是个有subTest的用例"""
for i in self.c:
with self.subTest(i=i):
print('a / c = 1')
self.assertEqual(self.a / i, 1)
def test_a_error_case(self):
""" 除零异常 """
print('1/0')
self.assertEqual(self.a/0, 1)
class ExampleCase1(unittest.TestCase):
"""此class包含两个用例:add - ok, minus - FAIL"""
def setUp(self):
self.a = 4
self.b = 3
def test_add(self):
"""用例1,add,此用例成功通过"""
self.assertEqual(self.a + self.b, 7)
def test_minus(self):
"""用例2,minus,此用例执行失败,4-3!=2"""
print('中文方法反反复复凤飞飞反复')
self.assertEqual(self.a - self.b, 2)
class ExampleCase2(unittest.TestCase):
"""此class包含一个用例:plus - ERROR"""
def setUp(self):
self.a, self.b = 4, 3
def test_plus(self):
"""用例3,plus,此用例执行出错,因为c未定义"""
self.assertEqual(self.a * self.b, c)
class ExampleCase3(unittest.TestCase):
"""此class包含一个用例:divide - ok"""
def setUp(self):
self.a, self.b = 4, 2
def test_devide(self):
"""用例4,divide,此用例执行成功"""
print('我要打印输出')
self.assertEqual(self.a / self.b, 2)
if __name__ == '__main__':
report_title = 'Example用例执行报告'
desc = '用于展示修改样式后的HTMLTestRunner'
report_file = 'ExampleReport.html'
testsuite = unittest.TestSuite()
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestTest))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase1))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase2))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase3))
# 定义存放测试报告的路径及文件名
# 我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
curent_dirc = os.path.dirname(os.path.realpath(__file__))
report_dirc = "\Reports"
now = time.strftime("%Y%m%d-%H%M%S")
report_name = curent_dirc + report_dirc+"\\"+now+"report.html"
print("2222"+report_name)
fp = open(report_name, "wb")
runner = HTMLTestRunner(stream=fp,title = "测试一下报告生成",description = "测试报告")
runner.run(testsuite)
fp.close()
在cmd中运行:
然后报告展示:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)