测试执行后HTML报告样本数、统计值显示异常问题咨询
问题描述
测试执行后,HTML报告中的样本数(No of samples)、平均值(average)、最小值(min)、**最大值(max)以及百分位数(90th、95th、99th)**显示不正确。
测试配置包含:
- 测试计划编写视图
- Ultimate Thread Group配置
- HTML报告视图
- 测试计划视图
期望通过CMD运行测试时,HTML报告能准确展示Ultimate Thread Group定义配置下的上述指标。查看.jtl文件发现每个Transaction Controller存在多条记录,不清楚生成原因。
问题原因及解决办法
1. Transaction Controller多记录的原因
Transaction Controller默认会同时记录自身聚合结果和内部子请求的结果,导致.jtl文件中出现重复记录。如果开启了Include duration of timer and pre-post processors in generated sample选项,还会额外生成包含前置/后置处理器、定时器耗时的记录,进一步增加条目数量。
2. 修复步骤
调整Transaction Controller配置
编辑测试计划里的Transaction Controller,取消勾选两个选项:
- Generate Parent Sample:只保留子请求记录,不生成控制器自身的聚合样本
- Include duration of timer and pre-post processors in generated sample:避免生成带额外耗时的重复记录
规范测试运行命令
通过CMD执行测试时,指定正确的输出参数,确保.jtl文件无旧数据干扰:
jmeter -n -t 你的测试计划.jmx -l 结果文件.jtl -f -o 报告输出目录
参数说明:
-n:非GUI模式运行-t:指定测试计划文件-l:指定结果.jtl文件路径-f:覆盖已存在的结果文件-o:指定HTML报告输出目录
重新生成报告
删除旧的.jtl文件和报告目录,重新运行测试并生成报告,验证指标是否正确。
核对样本数
根据Ultimate Thread Group的线程数、循环次数,结合测试计划内的请求数量,计算预期样本数:预期样本数 = 线程数 × 循环次数 × 单线程请求数(不含重复的控制器记录)
对比报告中的样本数,确认是否匹配。
内容的提问来源于stack exchange,提问作者Islam
相关产品推荐
相关产品推荐

