17

我想测试一个 Java 服务调用。我的第一次尝试是使用“Java Request Sampler” 文档说

此采样器允许您控制实现 JavaSamplerClient 接口的 java 类。

我不确定如何获取 org.apache.jmeter.protocol.java.sampler.JavaSamplerClient 接口,因为在 JMeter 端没有 Maven Artifact 也没有提供二进制文件。只是一个 JMeter Maven 插件(这不是我想要的)。我可以在本地 Maven 存储库中安装所需的二进制文件,我只是不知道它们在哪里可用。

想知道是否有人在使用“Java Request Sampler”?

PS 也许我应该试试JUnit 采样器

4

1 回答 1

28

我们正在使用 ANT 构建并使用 JAR,它们位于JMeter 的二进制文件中的\lib\ext\. AbstractJavaSamplerClient用于 Java Request Sampler 的文件位于文件中\lib\ext\ApacheJMeter_java.jar。为了使用这个抽象类,您还必须导入 JAR 文件\lib\ext\ApacheJMeter_core.jar,该文件(例如)包含该类SampleResult

在构建我们的 Java 类之后,我们将生成的 JAR 文件也放在文件夹中\lib\ext\。如果我们的类使用任何依赖项(第 3 部分 JAR),我们将其放在 '\lib' 文件夹中。之后,您可以启动 JMeter,并且可以在 Java Request Sampler 中选择您的 Java 类。

以下是此类 Java 请求采样器的示例:

public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient {

  @Override
  public SampleResult runTest(JavaSamplerContext ctx) {
    JMeterVariables vars = JMeterContextService.getContext().getVariables();
    vars.put("demo", "demoVariableContent");

    SampleResult sampleResult = new SampleResult();
    sampleResult.setSuccessful(true);
    sampleResult.setResponseCodeOK();
    sampleResult.setResponseMessageOK();
    return sampleResult;
  }  
}
于 2010-03-04T14:02:54.207 回答