我正在为扩展 AbstractJavaSamplerClient 类的 EJB 方法调用创建 JMeter 测试。我有几个必须按顺序完成的方法调用,我想获得每个方法的响应时间。是否有可能让 JMeter 报告一个测试类的多个响应时间?我还没有找到办法做到这一点。
编辑1: 所以我想从 call1 和 call2 获得单独的响应时间。
public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient {
@Override
public SampleResult runTest(JavaSamplerContext ctx) {
SampleResult sampleResult = new SampleResult();
sampleResult.sampleStart();
class.call1();
class.call2();
sampleResult.sampleEnd();
sampleResult.setSuccessful(true);
sampleResult.setResponseCodeOK();
sampleResult.setResponseMessageOK();
return sampleResult;
}
}
最佳答案
正如评论中所 promise 的,试试这个:
public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient {
@Override
public SampleResult runTest(JavaSamplerContext ctx) {
SampleResult mainResult = new SampleResult();
mainResult.sampleStart();
SampleResult child = new SampleResult();
child.sampleStart();
class.call1();
child.sampleEnd();
// set the other properties of the 'child' SampleResult, such as successful etc here.
mainResult.addSubResult(child);
child = new SampleResult();
child.sampleStart();
class.call2();
child.sampleEnd();
// again, set the properties of this child appropriately (successful etc).
mainResult.addSubResult(child);
mainResult.setSuccessful(true);
mainResult.setResponseCodeOK();
mainResult.setResponseMessageOK();
return mainResult;
}
}
注意,缺点是 native JMeter 监听器都不支持 SubResults。我写了一些,并在这个问题的答案中发布了一个例子:Jmeter Graph Listener for SampleResult.subResult
关于java - 创建 JMeter Java 采样器并获取多个响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27938622/