Jmeter 不保存响应数据或 headers

Jmeter doesn't save response data or headers

我正在为我的 API 构建一些简单的负载测试,为了确保一切正常,我还想查看响应 header 和数据。但是当我 运行 我的测试使用命令行然后 re-open GUI 添加一个查看结果树侦听器并加载创建的文件时,响应 headers 或响应数据为空。

我在 user.properties 中输入了以下值(也尝试在 jmeter.properties 中取消注释这些值并在那里更改它们,结果相同)

jmeter.save.saveservice.output_format=csv (tried xml, omitting it, jtl)
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.timestamp_format=HH:mm:ss
jmeter.save.saveservice.default_delimiter=;
jmeter.save.saveservice.print_field_names=true

但打开结果文件时仍然没有运气。我尝试在 -l 标记后将文件声明为 results.csv、.jtl,甚至 .xml,但其中 none 向我显示了 header 和数据。

我运行使用以下命令在 Mac OS X 10.10 上本地安装它,jmeter 版本是 2.12

java -jar ApacheJMeter.jar -n -t /Users/[username]/Documents/API_test.jmx -l results_15.jtl

我不知道它是否甚至没有保存该数据,或者听众是否无法读取它,或者我是否被诅咒了,但感谢任何帮助。

如果我添加一个侦听器并使用 GUI 运行 它工作正常,但是如果我尝试 运行 我的大型测试那样,那么,对任何人来说事情都不会顺利结束.

所以我的问题是: 如何在使用命令行时将响应 header 和数据保存到文件中,然后如何在 jmeter 中查看所述文件?

添加一个简单的数据编写器(在监听器下)并输出到一个文件(注意:与您的日志不同的文件)。在 'configure' 按钮下,有各种保存内容的选项。复选框之一是保存响应 Header.

如果您为每个请求保存一堆内容,此文件可能会变得很大 - 一种策略是检查所有内容,但只保存错误。但是你可以做任何适合你的事情。

您也可以打开 "Functional Test Mode",这将生成一个大文件,但包含调试测试可能需要的几乎所有内容。

请注意,这会创建一个非常大的 JTL 文件,所以不要忘记为您的大型测试运行关闭它!参见 JMeter Maven mojo throws IllegalArgumentException with large JTL file

或者在 GUI 中使用树视图侦听器获取一小部分请求,并检查 GUI 中的 request/response(包括 headers)以调试或检查您的测试。

user.properties 文件中添加以下行

jmeter.save.saveservice.output_format=xml

jmeter.save.saveservice.response_data=真

jmeter.save.saveservice.samplerData=真

jmeter.save.saveservice.requestHeaders=真

jmeter.save.saveservice.url=真

重新启动命令提示符。