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

JMeter子结果无法在汇总表等组件显示的解决方法咨询

JMeter子结果在汇总/聚合/综合报告中显示的解决方案

针对JSR223脚本中创建的子结果仅在查看结果树可见,无法在汇总表、聚合报告等组件中以自定义标签显示的问题,可按以下步骤解决:

1. 修正JSR223脚本中子结果的属性设置

当前脚本的子结果缺少部分关键属性,导致报告组件无法正确识别。修改后的代码如下:

// SendMessage子步骤
def myResult_SendMessage = new org.apache.jmeter.samplers.SampleResult()
myResult_SendMessage.setSampleLabel('SendMessage')
myResult_SendMessage.sampleStart()

// 业务操作代码
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[contains(text(),'Send a message')]")));
WebElement Depot_SendMessage = driver.findElement(By.xpath("//a[contains(text(),'Send a message')]")); 
Depot_SendMessage.click(); 

// 完善子结果属性
myResult_SendMessage.setResponseCodeOK()
myResult_SendMessage.setSuccessful(true)
myResult_SendMessage.sampleEnd()
myResult_SendMessage.latencyEnd()
myResult_SendMessage.setResponseData(driver.getPageSource(), "UTF-8") // 指定响应数据编码
myResult_SendMessage.setDataType(org.apache.jmeter.samplers.SampleResult.TEXT) // 设置数据类型

// 关联到主样本,false表示不合并子结果
ctx.getSampleResult().addSubResult(myResult_SendMessage, false)

关键补充:指定响应数据编码和数据类型,确保子结果元数据完整,让报告工具能正确解析。

2. 调整JMeter核心配置

打开user.properties文件,确认并添加以下配置:

# 启用子结果保存
jmeter.save.saveservice.subresults=true
# 允许报告工具包含所有非线程组的样本(包括子结果)
jmeter.reportgenerator.exporter.html.series_filter=^(?!Thread Group)(?!Setup Thread Group)(?!Teardown Thread Group).*$
# 推荐使用XML格式保存结果,确保完整保存子结果信息
jmeter.save.saveservice.output_format=xml

注意:CSV格式对复杂子结果的支持有限,优先选择XML格式保存测试结果(.jtl文件)。

3. 配置报告组件显示子结果

  • 汇总表:勾选配置面板中的「保存子结果」和「显示子结果」选项(部分版本需在「结果数据」下拉框中选择「包括子结果」)。
  • 聚合报告:在配置中找到「Include subresults」选项,设置为true,或选择「所有样本(包括子样本)」。
  • 综合报告:勾选配置中的「包含子结果」复选框。

4. 验证测试流程

  1. 重启JMeter使配置生效。
  2. 重新运行测试计划。
  3. 生成报告后,检查汇总表、聚合报告等组件,子结果的自定义标签(如SendMessage)应已单独显示。

内容的提问来源于stack exchange,提问作者Nadezhda T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:20:49