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

JMeter非GUI(CLI)模式下生成HTML仪表盘报告如何排除仍需运行的采样器

JMeter CLI模式下指定采样器正常执行但排除在HTML报告统计外的实现

核心逻辑

完全不改动测试运行阶段的采样器执行流程,只在HTML报告生成环节加过滤规则,从根上避免“采样器不执行、测试数据丢失”的问题,正好匹配“采样器后台正常跑、仅把它的统计值从报告里剔除”的需求。

具体操作

  • 先给要排除统计的目标采样器加个易识别的固定标记,比如直接在采样器名称末尾加上[NO-REPORT];懒得改采样器名字的,也可以直接记清楚这个采样器对应的请求路径片段,后续写过滤规则直接用就行。
  • 常规CLI运行命令的基础上,追加报告过滤参数,完整命令参考:
jmeter -n -t test_plan.jmx -l raw_result.jtl -e -o ./html_report --reportgenerator-property=jmeter.reportgenerator.exporter.html.series_filter="^(?!.*\[NO-REPORT\]).*$"
  • 命令里的正则是负向预查逻辑,意思是只把**名称不带[NO-REPORT]**的样本算进HTML报告的统计范围
  • 被标记的采样器在整个测试过程中会正常发起请求、把结果完整写到原始jtl文件里,只有在最后渲染HTML报告的时候才会被排除在统计口径外,完全不影响实际测试执行。
  • 要是嫌每次跑命令敲长参数麻烦,直接把过滤规则写到JMeter安装目录下bin/user.properties里,永久生效:
# 排除带NO-REPORT标识的采样器的报告统计
jmeter.reportgenerator.exporter.html.series_filter=^(?!.*[NO-REPORT]).*$

实操注意点

  • 这个过滤完全是报告渲染层的操作,根本不会碰原始jtl结果文件,所有采样器的原始结果都完整存在jtl里,后续要复盘被排除采样器的性能数据,直接从jtl提取就行,不会丢数据。
  • 过滤规则支持任意正则匹配,不用局限于固定标识,比如要排除的是健康检查接口,直接把正则改成^(?!.*healthCheck).*$就行,连现有测试计划都不用改。
  • 别用“单独开线程组、加逻辑控制器隔离采样器”的方式实现这个需求,这类方法改的是运行阶段的执行逻辑,配置错了很容易导致目标采样器根本不发请求,直接违背“采样器要正常后台执行”的要求。
  • 如果用的是3.0以下版本的老JMeter,这个内置报告过滤配置可能不生效,建议升级到主流稳定版本,否则得额外加后置处理器手动标记样本,反而增加不必要的测试计划复杂度。

内容的提问来源于stack exchange,提问作者Jean-Pascal MEWENEMESSE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 19:27:08