当前位置: 首页 > 知识库问答 >
问题:

Jmeter不保存响应数据或头

井轶
2023-03-14

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

我在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 标记之后将文件声明为结果.csv、.jtl,甚至.xml但它们都没有向我显示标头和数据。

我使用以下命令在MacOSX10.10上本地运行它,jmeter版本是2.12

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

我不知道它是否甚至没有保存数据,或者听者是否无法阅读数据,或者我是否被诅咒过,但任何帮助都值得感激。

如果我添加一个侦听器并使用GUI运行它,它会工作得很好,但是如果我试图以这种方式运行我的大型测试,那么,事情对任何人来说都不会有好结果。

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

共有3个答案

薛朝
2023-03-14

在user.properties文件中添加以下行

jmeter.save.saveservice.output_format=xml

jmeter.save.saveservice.response_data=true

jmeter.save.saveservice.samplerData=true

jmeter.save.saveservice.requestHeaders=真

jmeter.save.saveservice.url=true

重新启动厘米/厘米提示符。

宰父涵忍
2023-03-14

您还可以打开“功能测试模式”,它将生成一个大文件,但几乎包含调试测试所需的任何内容。

请注意,这可能会创建一个非常大的 JTL 文件,因此不要忘记在大型测试运行中将其关闭!请参阅 JMeter Maven mojo 抛出带有大型 JTL 文件的非法参数异常

或者,在GUI中使用Tree View Listener获取请求的小样本,并在GUI中检查请求/响应(包括标题)以调试或检查测试。

濮佑运
2023-03-14

添加一个简单的数据写入器(在监听器下)并输出到一个文件(注意:与您的日志不同的文件)。在“配置”按钮下,有各种要保存的选项。其中一个复选框是保存响应头。

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

 类似资料:
  • 我是JMeter的新手。我已经设置了HTTP请求采样器来发送GET请求到Google.com。我得到的反应是200。但我找不到响应头,它显示了响应中的cookie。我想在下一个请求中使用该cookie值。

  • 我有一个关于从JMeter中的html响应数据中获取某个值的问题。我一直在尝试正则表达式和xpath提取器(见下文),但没有运气。 但也不管用。我一直在考虑使用Beanshell将源代码抓取为字符串并解析数字。有什么更好的方法来抢那个号码吗?如何使用beanshell获取响应数据的源代码?我尝试使用/html的xpath,但没有成功。 多谢

  • 我不确定,如果我遗漏了什么,但在谷歌上也找不到。我正在研究Jmeter的一些特性。我也用过邮递员。我们有API POST请求,它返回JSON响应。 在从Postman访问API时,我得到了“JSON”响应。(即无问题)和API触发我的服务。 现在,如果从Jmeter命中。如果200和我的服务也触发,则响应。但作为回应,我得到了一些代码或键,而不是JSON值。 就像'e5e9e97a9ba2144b

  • 问题内容: 我遇到下面显示的行未将变量存储到全局范围的问题: 我究竟做错了什么?我需要将其包装到单独的函数中还是什么? 问题答案: 该代码在收到响应之前运行。 这就是为什么。 在这里,您可以看到警报发生故障。默认情况下,AJAX请求不会阻止后续代码运行。 这就是拥有 回调 方法的全部目的。该方法在适当的时间被调用,而不是依赖于同步执行。

  • 这就是我得到的错误 2017/02/21 14:23:31 error-jmeter.util.BeanShellInterpreter:调用bsh方法时出错:eval源文件:内联计算:字符串行的内联计算;串[]字;line=sampleResult.getResponseMessage();log.inf。..“:尝试解析未定义变量或类名:SampleResult上的方法:getResponse