接口测试框架httprunner使用自定义extentreports报告模板遇到的问题小结
前置条件:
httprunner版本:HttpRunner 3.0.1
python版本:3.8
运行环境:Mac
一、很多文章里面都说http runner包里面自带了自定义的报告模板,但是这个版本没有,于是网上下载了自定义的extentreports报告模板
运行加参数: --report-template reports/template/extent-theme-template_new.html
报错: jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'meta_data'
解决方案:出现问题的原因是不同版本的httprunner,运行case的结果汇总的数据结构有些不同,需根据实际版本情况进行调整
1.先根据httprunner对外提供的运行用例的接口runner.run(),查看testcase运行的结果汇总的数据结构
from httprunner.api import HttpRunner
def print_summary_result(path_or_tests):
runner = HttpRunner(
failfast=True,
save_tests=True,
log_level="INFO",
log_file="test.log"
)
summary = runner.run(path_or_tests)
return summary
2.根据运行的结果汇总的数据结构,修过extentreports报告模板的取值数据的字段信息,我遇到的情况是打印出来的结果的结构跟模板中的字段取值结构不同
二、报告中无法加载css和js
解决方案:下载对应的css和js文件到本地,然后在模板中引用
1.在https://github.com/anshooarora/extentreports-java/tree/master/dist下,下载对应的css和js文件到本地,放到项目中的指定目录下,如
2.修过自定义的模板文件,修过如下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!