使用idea创建一个maven工程


输入GroupId和ArtifactId


在工程的pom.xml中引入maven依赖 并更新下载依赖包到本地
<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>3.2</version>
</dependency>
</dependencies>

在main/java下 创建一个Java类 JavaDemo并实现JavaSamplerClient接口


实现JavaSampleClient的方法


这里列举一个案例 比如写一个自定义java请求 输入两个字符串 返回两个字符串拼接的结果 代码如下:
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class JavaDemo implements JavaSamplerClient {
public void setupTest(JavaSamplerContext javaSamplerContext) {
}
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
SampleResult result = new SampleResult();
String str1 = javaSamplerContext.getParameter("String-1");
String str2 = javaSamplerContext.getParameter("String-2");
result.setSampleLabel("StringConnnect");//设置java请求的Label名
result.setSuccessful(true);//告诉查看结果树访问是否成功
result.setDataType(SampleResult.TEXT);//设置响应结果类型为文本类型
result.setResponseData(str1 +"---"+ str2, "utf-8");//设置java请求的返回值
return result;
}
public void teardownTest(JavaSamplerContext javaSamplerContext) {
}
public Arguments getDefaultParameters() {
//定义java请求的输入参数
Arguments params = new Arguments();
params.addArgument("String-1", "");
params.addArgument("String-2", "");
return params;
}
}
写好之后用maven进行打包 将打包成功后的jmeter-1.0-SNAPSHOT.jar 放入到jmeter目录下的 lib/ext下


重启Jmeter 添加自定义Java请求和查看结果数 测试自定义Java请求是否有效

测试后 能查看到Label和java请求返回值正确 说明自定义Java请求成功

网友评论