You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

JMeter Dashboard HTML报告:使用series_filter排除请求后表头指标仍统计已排除请求的修复方案咨询

解决JMeter Dashboard表头统计未排除指定请求的问题

我懂你的困扰——用jmeter.reportgenerator.exporter.html.series_filter过滤了5个请求后,图表里确实看不到这些请求了,但表头的总请求数、错误率这些汇总指标还是把它们算进去了,对吧?这是因为series_filter的作用范围仅局限于图表中的数据系列展示,不会影响Dashboard顶部的全局汇总统计,这些统计是基于完整的样本结果集计算的。

要让表头指标也排除这些请求,你有两种可靠的解决方案:

方案1:测试运行时直接过滤样本(推荐)

这种方法会在测试执行阶段就把不需要的请求从结果文件(.jtl)中剔除,后续生成报告时自然只统计保留的请求:

  • 右键你的测试计划 → 「添加」→ 「配置元件」→ 「Sample Result Save Configuration」
  • 在这个元件的设置里,勾选「Save only samples that match the following regular expression」
  • 输入一个正则表达式来匹配你想要保留的请求(或者用负向预查匹配要排除的):
    • 比如要排除名为Req_Exclude_1Req_Exclude_2Req_Exclude_3Req_Exclude_4Req_Exclude_5的5个请求,正则可以写:
      ^(?!Req_Exclude_1|Req_Exclude_2|Req_Exclude_3|Req_Exclude_4|Req_Exclude_5).*
      
    • 如果你知道所有需要保留的请求都有统一前缀(比如Valid_Req_),也可以直接写:
      ^Valid_Req_.*
      
  • 重新运行测试,生成的.jtl文件就只包含你需要的请求,再生成Dashboard时表头统计就会准确了。

方案2:报告生成阶段过滤样本

如果你不想重新运行测试,只想基于已有的.jtl文件生成过滤后的报告,可以用jmeter.reportgenerator.sample_filter属性,这个属性会过滤整个样本集,表头统计和图表都会使用过滤后的结果:

  • 打开JMeter的user.properties文件(在JMeter安装目录的bin文件夹下)
  • 添加一行配置,用正则指定要保留的请求(同样支持负向预查排除):
    jmeter.reportgenerator.sample_filter=^(?!Req_Exclude_1|Req_Exclude_2|Req_Exclude_3|Req_Exclude_4|Req_Exclude_5).*
    
  • 保存文件后,重新运行报告生成命令(比如jmeter -g test_results.jtl -o dashboard_report),此时Dashboard的表头统计和图表都会排除那5个请求。

关键提醒

别再混淆series_filtersample_filter了:

  • series_filter:只控制图表中显示哪些请求系列,汇总统计依然用全量数据
  • sample_filter:过滤整个样本集,所有统计(包括表头和图表)都基于过滤后的数据

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

火山引擎 最新活动