我正在为我的API构建一些简单的负载测试,并确保所有内容都处于起作用状态,我还要查看响应标头和数据。但是当我使用命令行运行测试然后重新打开GUI以添加View Results Tree侦听器并加载创建的文件时,响应头或响应数据为空。
我在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,但它们都没有显示标题和数据。
我在Mac OS X 10.10上使用以下命令在本地运行它,jmeter版本是2.12
java -jar ApacheJMeter.jar -n -t /Users/[username]/Documents/API_test.jmx -l results_15.jtl
我不知道它是否甚至没有保存这些数据,或者听众是否无法阅读,或者我是否已被诅咒,但感谢任何帮助。
如果我添加一个Listener并使用GUI运行它,它可以正常工作,但是如果我尝试以这种方式运行我的大型测试,那么事情对任何人来说都不会很好。
所以我的问题是: 如何在使用命令行时将响应标头和数据保存到文件中,然后如何在jmeter中查看所述文件?
答案 0 :(得分:2)
添加一个简单数据编写器(在Listeners下)并输出到一个文件(NB:与您的日志不同的文件)。在“配置”按钮下,有各种保存选项。其中一个复选框是Save Response Header。
如果你为每个请求保存了很多东西,这个文件会变得很大 - 一个策略是检查所有内容,但只保存错误。但你可以做任何适合你的事情。
答案 1 :(得分:2)
您还可以打开"功能测试模式"这将生成一个大文件,但几乎包含调试测试所需的任何内容。
请注意,这可以创建一个非常大的JTL文件,所以不要忘记为大型测试运行关闭它!见JMeter Maven mojo throws IllegalArgumentException with large JTL file
或者在GUI中使用树视图侦听器获取一小部分请求,并检查GUI中的请求/响应(包括标题)以调试或检查测试。
答案 2 :(得分:1)
在 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 =真
重新启动cmd提示符。