1、HTMLTestRunner介绍
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告,无法通过pip安装。
首先要下 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib目录下 (或者同个路径)
生成步骤分析
导入HTMLTestRunner,UnitTest包
discover加载要执行的用例
discover = unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
设置测试报告生成路径和文件名
file_name = file_dir + nowtime+"Report.html"
打开报告 with open(file_name,"wb") as f:
实例化HTMLTestRunner对象
runner = HTMLTestRunner(stream = f,[title],[description])
参数说明 stream:文件流,打开写入报告的名称及写入编码格式
[]:为可选
title:为报告标题
description:为说明,比如操作系统
执行
runner.run(discover)
HTMLTestRunner与TextTestRunner的区别
前者输出到HTML中,后者输出到控制台。
注意点:
python2和python3,语法不一样,导致HTMLTestRunner在python3不兼容
image.png
# -*- coding: UTF-8 -*-
import unittest
import HTMLTestRunner
import time
class XdclassTestCase(unittest.TestCase):
def setUp(self):
self.age = 32
self.name = "小D课堂"
print(" setUp method=======")
def tearDown(self):
print(" tearDown method=======")
#断言是否相同,把foo转成大写,与FOO匹配是否一样
self.assertEqual('foo'.upper(), 'FOO')
def test_one(self):
print(" test_one 二当家小D 来了")
#断言是否相同
self.assertEqual(self.name, "小D课堂",msg="名字不对")
def test_two(self):
print(" test_two 前端 来了")
#断言是否为 true, msg是断言错误的提示信息
self.assertTrue('xd'.isupper(), msg="不是大写")
def test_three(self):
print(" test_three 后端 来了")
self.assertEqual(self.age,32)
def test_four(self):
print(" test_four 小D课堂官网上线啦 https://www.xdclass.net")
self.assertEqual(self.age,32)
if __name__ == '__main__':
suite = unittest.TestSuite()#相当于一个容器,可以往里放测试用例
suite.addTest(XdclassTestCase("test_two"))
suite.addTest(XdclassTestCase("test_one"))
suite.addTest(XdclassTestCase("test_three"))
suite.addTest(XdclassTestCase("test_four"))
#verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告(默认)、2 是详细报告
# runner = unittest.TextTestRunner(verbosity=2)
# runner.run(suite)
#生成测试报告
file_prefix = time.strftime("%Y_%m_%d %H_%M_%S",time.localtime())
print(file_prefix)
fp = open("D:\\自动化测试资料\\自动化测试资料\\" + file_prefix + "_result.html","wb")
runner = HTMLTestRunner.HTMLTestRunner(stream = fp,title = "测试报告",description="测试用例执行情况")
runner.run(suite)
fp.close()
#结果
2020_01_26 17_14_21
F
...
Time Elapsed: 0:00:00.001999
测试报告结果
image.png
优化
image.png
image.png