使用JMeter测试Java类
问题内容:
我想测试一个Java服务调用。我的第一次尝试是使用“ Java Request
Sampler”
文档
通过此采样器,您可以控制实现JavaSamplerClient接口的Java类。
我不确定如何获取org.apache.jmeter.protocol.java.sampler.JavaSamplerClient接口,因为在JMeter端既没有Maven
Artifact也没有提供二进制文件。只是一个JMeter
Maven插件(这不是我想要的)。我可以在本地Maven存储库中安装所需的二进制文件,只是不知道它们在哪里可用。
想知道是否有人在使用“ Java Request Sampler”?
PS也许我应该尝试JUnit
Sampler
问题答案:
我们正在与ANT构建和使用的罐子,它位于二进制文件从JMeter的下\lib\ext\
。将AbstractJavaSamplerClient
其用于Java的请求采样位于该文件中\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 Request Sampler的示例:
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;
}
}