JMeter保存响应数据 - 非TEXT响应数据,无法记录:()

时间:2016-10-27 10:18:06

标签: xml jmeter

我试图在JMeter分布式非gui测试中保存我的响应数据。我更愿意通过JMeter配置来完成它,以避免修改我的自定义JMeter控制器和测试片段。

对于我在xml中的大多数回复,我得到以下回复:

<responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>

以下是我在user.properties中的设置:

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
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=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.connect_time=false
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=true
#jmeter.save.saveservice.thread_counts=true
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=true

如果此问题无法解决,我计划修改我的控制器以使用getThreadContext()。getPreviousSampler()。getResponseDataAsString()获取响应数据,并将其直接打印到JMeter日志,但是,如果可能,我&# 39; d更喜欢在不更改代码的情况下执行此操作。

有没有办法让JMeter转换xml响应数据并通过配置文件将其保存到jtl文件?

1 个答案:

答案 0 :(得分:2)

自jmeter 2.9起,使用分布式模式时,响应数据被剥离。 这由mode属性控制,默认为StrippedBatch。

要获得响应,请将其切换为Batch,但这会影响JMeter的可伸缩性。 您通常应该避免在测试中使用先前的响应。