2010-03-04 83 views
17

我想测试Java服务调用。 我第一次尝试是使用"Java Request Sampler" 的实况说使用JMeter测试Java类

这样可以让你控制一个Java类 实现了 JavaSamplerClient接口。

我不知道如何让org.apache.jmeter.protocol.java.sampler.JavaSamplerClient接口,因为没有Maven的神器,也没有放在JMeter侧的二进制文件。 只是一个JMeter的Maven插件(这不是我正在寻找)。 我可以在我的本地Maven仓库中安装所需的二进制文件,我只是不知道它们在哪里可用。

想知道是否有人使用“Java请求采样器”?

P.S.也许我应该试试JUnit Sampler

+3

JMeter的现在处于行家中央。 – Ardesco 2012-02-09 14:28:25

回答

27

我们正在与ANT一起建造,并且正在使用位于binary file from JMeter的下的JAR。用于Java请求采样器的AbstractJavaSamplerClient位于文件\lib\ext\ApacheJMeter_java.jar中。为了使用这个抽象类,您还必须导入JAR文件\lib\ext\ApacheJMeter_core.jar,该文件是(例如)持有类SampleResult的类。

在构建我们的Java类后,我们将生成的JAR文件也放入文件夹\lib\ext\。 如果我们的类使用任何依赖(第三部分JAR),我们把它放在'\ lib'文件夹中。 之后,您可以启动JMeter,并且可以在Java请求采样器中选择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; 
    } 
} 
+1

我认为了解SamplerClient的生命周期非常重要。对于每个线程创建一个实例(根据javadoc创建一些其他实例以获取参数名称)。有一些方法可以准备和拆卸测试。它非常好,感谢将我引向这个方向。 – 2012-03-30 20:29:36