Unitest生成HTML测试报告
定义
HTML测试报告就是执行完测试用例后, 以HTML(网页)方式将执行结果生成报告
HTML生成报告方式
- TextTestRunner生成 (UnitTest 自带)
- HTMLTestRunner(第三方模板) 【重点】
- unittestreport (自研第三方插件)
TextTestRunner生成
# 导包
import unittest
# 定义 测试套件
suite = unittest.defaultTestLoader.discover("/")
# 执行
with open("../report/report.txt", "w", encoding="utf-8") as f:
unittest.TextTestRunner(stream=f, descriptions="跳过测试报告演示", verbosity=2).run(suite)
HTMLTestRunne测试报告 生成步骤分析
-
复制HTMLTestRunner.py文件到项目文件夹
-
导入HTMLTestRunner、 unittest包
-
生成测试套件
suite = unittest.TestSuite()
suite.addTest(TestLogin("test_login"))
suite = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py") -
设置报告生成路径和文件名
file_name = "./report/report.html" -
打开报告 with open(file_name,'wb') as f:
-
实例化HTMLTestRunner对象:
runner = HTMLTestRunner(stream=f,[title],[description])
参数说明:
stream: 文件流, 打开写入报告的名称及写入编码格式)
title: [可选参数], 为报告标题, 如XXX自动化测试报告
description: [可选参数], 为报告描述信息; 比如操作系统、 浏览器等版本 -
执行: runner.run(suite)
"""
目标:基于unittest框架执行生成html版报告
操作:
1. 复制HtmlTestRunner.py文件到指定目录
2. 导包 from HTMLTestRunner import HTMLTestRunner
3. 获取报告存放文件流,并实例化HTMLTestRunner类,执行run方法
"""
# 导包
import unittest
import time
from web自动化.Unittest框架.代码.day06.tools.HTMLTestRunner import HTMLTestRunner
# 定义 测试套件
suite = unittest.defaultTestLoader.discover("../case", pattern="test*.py")
# 定义报告存放路径及文件名称
report_dir = "../report/{}.html".format(time.strftime("%Y_%m_%d %H_%M_%S"))
# 获取报告文件流 并执行
with open(report_dir, "wb") as f:
HTMLTestRunner(stream=f,
title="XX项目自动化测试报告",
description="操作系统 win7").run(suite)
unittestreport
测试派: http://testingpai.com/article/1598939124642
详细文档见: https://unittestreport.readthedocs.io/en/latest/