首页 > 解决方案 > Jmeter命令行选项问题

问题描述

我正在使用 jmeter 命令行运行负载测试,并使用 -l 命令行选项将结果保存到 csv 文件中。测试完成后,我在 csv 中看到数据,当我将其上传到视图结果树并尝试检查响应部分中的故障响应数据时,我没有看到任何响应数据。这里有什么遗漏吗?

我有以下命令

<path to jmeter bat> -n -t <jmx loc> -l <loc of result.csv> -j <path to jmeterlog> -Gparam1 -Gparam2 -Gparam3 -Gjmeter.save.saveservice.output_format=csv -Gjmeter.save.saveservice.output_format=csv -Gjmeter.save.saveservice.assertion_results_failure_message=true -Gjmeter.save.saveservice.data_type=true -Gjmeter.save.saveservice.label=true -Gjmeter.save.saveservice.response_message=true -Gjmeter.save.saveservice.successful=true -Gjmeter.save.saveservice.thread_name=true -Gjmeter.save.saveservice.time=true -Gjmeter.save.saveservice.response_message=true -Gjmeter.save.saveservice.successful=true -Gjmeter.save.saveservice.thread_name=true -Gjmeter.save.saveservice.time=true -Gjmeter.save.saveservice.connect_time=true -Gjmeter.save.saveservice.assertions=true -Gjmeter.save.saveservice.latency=true -Gjmeter.save.saveservice.connect_time=true -Gjmeter.save.saveservice.thread_counts=true -Gjmeter.save.saveservice.response_data=true -Gjmeter.save.saveservice.response_data.on_error=true -Gjmeter.save.saveservice.response_message=true -Gjmeter.save.saveservice.samplerData=true -Gjmeter.save.saveservice.requestHeaders=true -e -o <Reportpath>

标签: jmeterjmeter-pluginsjmeter-5.0jmeter-4.0jmeter-3.2

解决方案


  1. 默认情况下,JMeter 使用CSV 格式保存测试指标
  2. 由于最终的分隔符和换行符,CSV 格式不适合存储响应数据。此外,根据减少资源需求章节,不建议存储响应数据。

如果确实需要保存响应数据,则需要将 JMeter 的 .jtl 文件格式切换为 XML 并指示 JMeter 进行存储,可以通过以下属性进行控制:

  • jmeter.save.saveservice.output_format- 默认为csv
  • jmeter.save.saveservice.response_data- 默认为false

因此,您需要修改命令行以覆盖这些属性,例如:

<path to jmeter bat> -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true ......

为了使更改永久添加相应的行到user.properties文件

更多信息:

另一种选择是添加一个单独的侦听器,如简单数据编写器,并将其配置为将响应数据保存到单独的文件中:

在此处输入图像描述


推荐阅读