如何移除JMeter Dashboard的Apdex模块且保留其余测试结果
解决JMeter HTML报告移除Apdex模块报错问题
直接注释index.html.fmkr里的Apdex模块导致JS报错,本质是页面JS仍在尝试读取Apdex相关的DOM元素或数据对象,而你只删了HTML结构没处理依赖的JS逻辑。按以下步骤操作:
1. 清理HTML中的Apdex区块
打开index.html.fmkr,找到Apdex对应的完整section(通常是带id="apdex"的面板区块),直接删除整个section代码,不要只注释内容——残留的注释或空容器可能干扰DOM解析。
2. 移除JS中对Apdex的依赖
打开报告生成依赖的report.js(通常在JMeter的bin/report-template/resources/js目录下),做以下修改:
- 搜索
apdexData相关定义,比如var apdexData = data.apdex;,改成var apdexData = data.apdex || {};,避免数据不存在时出现undefined。 - 找到渲染Apdex的函数调用(比如
renderApdex(apdexData);),直接删除这行代码。 - 搜索所有访问Apdex DOM元素的代码(比如
document.getElementById('apdex')),删除或注释掉这些片段,防止JS找不到元素报错。
3. 验证修复效果
保存修改后的模板文件,重新运行JMeter生成HTML报告:
jmeter -n -t your-test-plan.jmx -l result.jtl -e -o report-output-folder
打开报告首页,确认没有JS报错,且其他测试结果完整保留。
后续移动响应时间趋势图
等Apdex模块移除正常后,找到响应时间趋势图对应的section(通常id是responseTimeTrend),将其代码块剪切到原来Apdex区块的位置,调整CSS样式(比如面板宽度、间距)确保布局协调即可。
内容的提问来源于stack exchange,提问作者Slimy43
相关产品推荐
相关产品推荐

