java - 创建 JMeter Java 采样器并获取多个响应时间

标签 java jmeter

我正在为扩展 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/

相关文章:

java - 将java作为windows服务运行的简单灵活的方法

java - Jmeter BeanShell - 访问响应数据 - Beanshell 错误?

jmeter - 如何对对并发用户数有限制的第 3 方 API 进行性能测试?

multithreading - Jmeter 当前线程数?

wcf - 使用 JMeter 对 WCF Web 服务进行性能测试?

c# - Jmeter非HTTP响应代码: org. apache.http.conn.HttpHostConnectException

java - 仅迭代 Map 的一部分

java - 关于创建 XML 文件的问题

java - 在clojure中调用java

java - AppContext 中具有相同名称和相同类的两个 bean(其中一个被 mock )