在自动化测试领域,虽然 Pytest 测试框架提供了多种现成的测试报告生成工具,如 Pytest-html 和 Allure,但这些工具可能无法完全满足特定的测试需求。本文将介绍一种自定义测试报告生成的方法,并提供相应的代码实现。通过这种方法,你可以根据项目的具体需求,灵活地定制测试报告的内容和格式,从而更有效地展示测试结果和分析数据。
一、环境准备
- Pytest 是一个功能强大的 Python 测试框架,它支持多种插件,能够轻松地与现有的测试代码集成。安装 Pytest 非常简单,只需运行以下命令
// An highlighted block
pip install pytest
- 安装 Jinja2
Jinja2 是一个用于 Python 的模板引擎,它允许我们将数据动态地插入到 HTML 模板中,从而生成个性化的 HTML 页面。安装 Jinja2 的命令如下:
// An highlighted block
pip install Jinja2
二、创建 HTML 模板文件
在测试目录中创建一个名为 templates 的子目录,并在其中创建一个名为 A.html 的 HTML 模板文件。以下是模板文件的内容:
注意:需要测试报告中展示的内容在此处定义,如:用例执行时间、数据饼图、用例执行详情等
// templates/A.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自动化测试报告</title>
<style>
/* 在这里添加 CSS 样式 */
body {
font-family: Arial, sans-serif; }
table {
width: 100%; border-collapse: collapse; }
th, td {
border: 1px solid #ddd; padding: 8px; }
th {
background-color: #f2f2f2; }
.canvas-container {
width: 50%; margin: 20px auto; }
canvas {
max-width: 70%; height: auto !important; }
</style>
</head>
<body>
<h1>自动化测试报告</h1>
<p>执行时间: {
{
execution_time }}</p>
<p>用例总数: {
{
total_tests }}</p>
&