jmeter - 如何在java程序中收集请求,响应和断言结果?

时间:2018-02-01 18:58:01

标签: java jmeter

我已按照How to create and run Apache JMeter Test Scripts from a Java program? 中给出的示例进行操作。示例程序运行配置到JMeter引擎的树,我想收集响应,实际请求和断言数据。我试过以下方式

SampleResult sampleResult = httpSamplerProxy.sample();

但是这会重新向API提交我的请求。有没有什么方法可以在没有重新提交的情况下得到结果?

1 个答案:

答案 0 :(得分:0)

如果要“收集”此数据,请修改测试配置以将执行结果存储到.jtl结果文件中,如:

Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
    summer = new Summariser(summariserName);
}


// Store execution results into a .jtl file
String logFile = "/path/to/results.jtl"
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
hashTree.add(hashTree.getArray()[0], logger);

然后使用“普通”JMeter属性配置要存储在其文件中的内容,即将下一行添加到 user.properties (位于JMeter安装的“bin”文件夹中) :

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true

参考文献: