Skip to main content

现代化的 Python unittest HTML 测试报告生成器

Project description

HTMLTestRunner Lit 🎨

现代化的 Python unittest HTML 测试报告生成器

Python License

📸 预览

Report Preview

✨ 特性

  • 🎨 Bootstrap 5 + ECharts 5 现代 UI 设计
  • 🌓 深色/浅色主题 一键切换
  • 📸 截图支持 自动捕获 Selenium 截图,支持轮播/网格预览
  • 📱 响应式设计 完美支持移动端
  • 📊 环形图表 可视化展示通过率
  • 📋 测试详情 支持复制、展开/折叠
  • 🧪 subTest 支持 完整支持子测试用例
  • 🎯 自定义配色 支持自定义主题颜色
  • 🚀 自动打开 测试完成后自动打开报告

🚀 安装

方式 1:从 PyPI 安装(推荐)

pip install htmltestrunner-lit

方式 2:从 GitHub 安装

pip install git+https://github.com/Aquarius-0455/HTMLTestRunner-Lit.git

方式 3:克隆后本地安装

git clone https://github.com/Aquarius-0455/HTMLTestRunner-Lit.git
cd HTMLTestRunner-Lit
pip install -e .

📖 使用方法

基础用法

import unittest
from htmltestrunner import HTMLTestRunner

# 创建测试套件
suite = unittest.TestLoader().loadTestsFromTestCase(YourTestCase)

# 生成报告
with open('report.html', 'wb') as f:
    runner = HTMLTestRunner(
        stream=f,
        title='API 测试报告',
        description='项目接口自动化测试',
        tester='QA Team'
    )
    runner.run(suite)

自定义配置

runner = HTMLTestRunner(
    stream=f,
    title='测试报告',
    description='项目描述',
    tester='测试人员',
    verbosity=2,
    open_in_browser=True  # 测试完成后自动打开报告
)

📸 截图功能

在测试用例中导入并调用 attach_screenshot 即可将截图添加到报告中。

import unittest
from selenium import webdriver
from htmltestrunner import attach_screenshot

class TestDemo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_example(self):
        self.driver.get("https://www.baidu.com")

        # 关键步骤:调用 attach_screenshot 并传入 driver 对象
        attach_screenshot(self.driver, "页面截图描述")

    def tearDown(self):
        self.driver.quit()

🎨 主题配置

支持深色和浅色两种主题,用户可以在报告中手动切换。

📊 报告内容

  • 测试概览: 总数、通过、失败、错误、跳过统计
  • 可视化图表: 通过率环形图
  • 详细结果: 每个测试用例的执行详情
  • 错误追踪: 完整的错误堆栈信息
  • 执行时间: 每个用例的执行耗时

🔧 API 参考

HTMLTestRunner

参数 类型 默认值 描述
stream file - 输出文件流
title str "Unit Test Report" 报告标题
description str "" 报告描述
tester str "QA Team" 测试人员
verbosity int 1 详细程度
open_in_browser bool False 测试完成后自动打开报告

📝 更新日志

v1.0.5

  • 📸 新增截图轮播与网格视图,支持多图自动切换
  • 🔍 优化大图预览体验,支持键盘/点击左右切换
  • 🎨 全新 Bootstrap 5 + ECharts 5 UI
  • 🌓 深色/浅色主题切换
  • 📱 响应式设计,完美支持移动端
  • 📊 环形图表可视化展示通过率
  • 🧪 完整支持 subTest 子测试用例
  • 📋 测试详情支持复制、展开/折叠
  • 🚀 支持 open_in_browser 自动打开报告
  • 👤 支持自定义 tester 测试人员

📄 许可证

本项目采用 MIT 许可证。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

⭐ Star History

如果这个项目对你有帮助,请给一个 Star ⭐

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htmltestrunner_lit-1.0.5.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

htmltestrunner_lit-1.0.5-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file htmltestrunner_lit-1.0.5.tar.gz.

File metadata

  • Download URL: htmltestrunner_lit-1.0.5.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for htmltestrunner_lit-1.0.5.tar.gz
Algorithm Hash digest
SHA256 f6cd36b7ea7a83e36b10660d24f0f8fa8e1a8f1e1192ba040cd3551bfb7eb203
MD5 7ae6416436851a11754595d108d47820
BLAKE2b-256 899df0e5491ef4f673150ef434d5c60704b68dfcad89c42ec899130009e5f380

See more details on using hashes here.

File details

Details for the file htmltestrunner_lit-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for htmltestrunner_lit-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d88eefc3d2c546c468d883b3fb5e998a520d022fc389bd340d473857aab0388c
MD5 5f54b1e79f797a0abf8423a028ca00bf
BLAKE2b-256 9f523c73d0320f8b4af980be5438dc6ed077a547226085738c2498e696ea28d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page