JMeter非GUI模式如何将View Results Tree数据输出到主jtl日志
问题结论
可以,non-gui模式下完全可以将监听器采集的所有数据直接输出到-l参数指定的主结果日志文件中,不需要给单个监听器配置独立输出路径。
双文件生成原因
运行后同时生成两个jtl文件,是因为你给View Results Tree监听器单独配置了Write results to file的输出路径/app/view-results-tree.jtl,这个配置优先级独立于命令行的-l参数,只要监听器配置了独立输出路径,运行时就会单独写入对应文件,和主结果文件互不干扰。
具体配置方法
- 打开你的
loadtest.jmx脚本,找到挂载在HTTP Request sampler下的View Results Tree监听器,把「Write results to file」配置项里填写的路径全部清空,不要保留任何内容。 - 所有监听器(包括View Results Tree、聚合报告、汇总报告等)只要没有单独配置输出路径,在non-gui模式下运行时,采集到的采样数据都会统一写入命令行
-l参数指定的/app/results.jtl文件中,不会再生成额外的结果文件。
注意事项
如果你需要保留View Results Tree展示的请求头、响应体、断言结果这类详细明细,需要提前修改JMeter配置,否则non-gui模式默认不会存储这类高资源消耗的内容:
- 打开JMeter安装目录下的
bin/jmeter.properties或者bin/user.properties文件 - 调整对应配置项:
# 存储响应数据必须使用xml格式,csv格式不支持非结构化的响应内容存储 jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.responseHeaders=true jmeter.save.saveservice.assertion_results=true
配置完成后再执行原有运行命令,主results.jtl文件就会包含全量的采样明细,运行结束后在GUI模式下打开View Results Tree监听器,直接加载这个jtl文件就能看到所有请求的完整明细,和单独生成view-results-tree.jtl的展示效果完全一致。
内容的提问来源于stack exchange,提问作者T. Webster
相关产品推荐
相关产品推荐

