Unitest生成HTML测试报告

定义

HTML测试报告就是执行完测试用例后, 以HTML(网页)方式将执行结果生成报告

HTML生成报告方式

  1. TextTestRunner生成 (UnitTest 自带)
  2. HTMLTestRunner(第三方模板) 【重点】
  3. 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测试报告 生成步骤分析

  1. 复制HTMLTestRunner.py文件到项目文件夹

  2. 导入HTMLTestRunner、 unittest包

  3. 生成测试套件
    suite = unittest.TestSuite()
    suite.addTest(TestLogin("test_login"))
    suite = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py")

  4. 设置报告生成路径和文件名
    file_name = "./report/report.html"

  5. 打开报告 with open(file_name,'wb') as f:

  6. 实例化HTMLTestRunner对象:
    runner = HTMLTestRunner(stream=f,[title],[description])
    参数说明:
    stream: 文件流, 打开写入报告的名称及写入编码格式)
    title: [可选参数], 为报告标题, 如XXX自动化测试报告
    description: [可选参数], 为报告描述信息; 比如操作系统、 浏览器等版本

  7. 执行: 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/

posted @ 2022-09-06 15:03  hanfe1  阅读(77)  评论(0编辑  收藏  举报