Skip to content

HTMLReport是一个单元测试测试运行器,可以将测试结果保存在Html文件中,用于人性化的结果显示。仅支持Python 3.x

License

Notifications You must be signed in to change notification settings

JoffreyN/HTMLReport

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

进行了一些自定义修改(HTMLreport == 2.2.2)

  1. 修改~/src/test_runner.py第276行,取消格式化字符函数(测试描述支持HTML标签)
  2. 修改~/src/tools/template.py,删除英文部分,增加汇总信息背景颜色
  3. 修改~/src/tools/log/handler_factory.py第23行日志输出格式
  4. 修改~/src/tools/template.py, 增加ico标签
  5. 修改~/src/tools/data_driven.py的_mk_test_name函数,注释82、83,新增85~96
  6. 删除js定义行,改为引用,并自动生成index.js;压缩css行
  7. REPORT_IMG_TMPL 修改为lazyload加载图片
  8. HTML_TMPL 新增 jquery.lazyload 相关

HTMLReport

HTMLReport是一个单元测试测试运行器,可以将测试结果保存在 Html 文件中,用于人性化的结果显示。

仅支持Python 3.x

安装

要安装 HTMLReport,请在终端中运行此命令

pip install HTMLReport

这是安装HTMLReport的首选方法,因为它将始终安装最新的稳定版本。如果您没有安装pip,则该Python安装指南可以指导您完成该过程。

使用方法

import unittest
import HTMLReport

# 测试套件
suite = unittest.TestSuite()
# 测试用例加载器
loader = unittest.TestLoader()
# 把测试用例加载到测试套件中
suite.addTests(loader.loadTestsFromTestCase(TestStringMethods))

# 测试用例执行器
runner = HTMLReport.TestRunner(report_file_name='test',  # 报告文件名,如果未赋值,将采用“test+时间戳”
                               output_path='report',  # 保存文件夹名,默认“report”
                               title='测试报告',  # 报告标题,默认“测试报告”
                               description='无测试描述',  # 报告描述,默认“测试描述”
                               thread_count=1,  # 并发线程数量(无序执行测试),默认数量 1
                               thread_start_wait=3,  # 各线程启动延迟,默认 0 s
                               sequential_execution=False,  # 是否按照套件添加(addTests)顺序执行,
                               # 会等待一个addTests执行完成,再执行下一个,默认 False
                               # 如果用例中存在 tearDownClass ,建议设置为True,
                               # 否则 tearDownClass 将会在所有用例线程执行完后才会执行。
                               # lang='en'
                               lang='cn'  # 支持中文与英文,默认中文
                               )
# 执行测试用例套件
runner.run(suite)

为测试报告中添加过程日志,在多线程下,在报告中会分别记录每个线程的日志,同时会产生与测试报告同名的测试 log 文件。

from HTMLReport import logger

logger().info("测试")
logger().debug("测试")
logger().warning("测试")
logger().error("测试")
logger().critical("测试")

为测试报告添加图片信息,请将图片信息编码为 base64 编码。

如采用的是 selenium 截屏,请使用 get_screenshot_as_base64() 方法获取 base64 encoded string 作为参数传入。

本库会自动将图片保存在报告路径下的images目录下,并嵌入到报告中。

import base64
from HTMLReport import AddImage

with open("baidu.png", 'rb') as f:
    image = base64.b64encode(f.read())
    AddImage(image)

如果您有其他的需求,请发邮件给我:[email protected] , 祝您使用愉快!

Links:


About

HTMLReport是一个单元测试测试运行器,可以将测试结果保存在Html文件中,用于人性化的结果显示。仅支持Python 3.x

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%