You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中生成可下载的pytest测试报告PDF文件

pytest 生成PDF格式测试报告的可行方案

以下3种方案都可以满足需求,输出效果和你现在用的allure、pytest-html报告一致:

方案1:直接用pytest-pdf插件一步生成PDF

无需先生成HTML报告,执行测试时直接输出PDF,操作成本最低:

  • 安装依赖:pip install pytest-pdf
  • 执行测试命令示例:pytest 你的测试路径 --pdf=测试执行报告.pdf
  • 可通过--css-path参数传入自定义样式文件,完全复现你之前pytest-html的自定义样式,输出效果和pytest-html报告完全一致。
  • 缺点:默认样式偏基础,需要自行调整css才能达到allure级别的展示效果。

方案2:基于已有的allure HTML报告转PDF

可以1:1保留allure报告的所有统计信息、用例详情、错误日志、截图附件等内容,样式和原报告无差异:

  • 先安装工具:首先安装系统工具wkhtmltopdf,再安装Python依赖pip install pdfkit
  • 生成allure HTML报告后,执行转换即可,核心代码示例:
import pdfkit
# 需添加enable-local-file-access参数保证allure本地静态资源正常加载
pdfkit.from_file('allure-report/index.html', 'allure测试报告.pdf', options={'enable-local-file-access': None})
  • 支持自定义配置页眉页脚、添加公司logo、调整页面边距等,可满足企业级报告定制需求。

方案3:基于pytest-html报告转PDF

pytest-html生成的是单文件HTML,无需额外依赖就能转换:

  • 直接打开生成的HTML报告,按Ctrl+P唤起打印功能,选择「保存为PDF」,勾选「背景图形」选项、调整合适边距后保存,输出效果和原HTML报告完全一致。
  • 也可以用方案2里的pdfkit工具实现自动化转换,无需手动操作。

如果需要高度自定义的PDF内容,也可以自行通过jinja2编写报告模板,渲染成HTML后再转PDF,灵活度完全可以匹配Java生态的PDF报告生成能力。

内容的提问来源于stack exchange,提问作者Gureilla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:36:03