1. Java 代码实例
1.1 依赖
Gradle
compile group: 'org.apache.jmeter', name: 'ApacheJMeter_java', version: '4.0'
Maven
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>4.0</version>
</dependency>
1.2 代码
package top.xiexiaodong.example;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class NormalJavaRequestSample extends AbstractJavaSamplerClient {
private SampleResult result;
private int num1;
private int num2;
/**
* 初始化方法,用于初始化性能测试时的每个线程,每个线程测试前执行一次。
*/
@Override
public void setupTest(JavaSamplerContext context) {
result = new SampleResult();
num1 = context.getIntParameter("num1");
num2 = context.getIntParameter("num2");
// 可以初始化 RPC Client
}
/**
* 测试结束时调用,可释放资源等。
*/
@Override
public void teardownTest(JavaSamplerContext context) {
System.out.println("NormalJavaRequestSample.teardownTest");
}
/**
* 主要用于设置传入的参数和默认值,可在 Jmeter 界面显示。
*/
@Override
public Arguments getDefaultParameters() {
Arguments arguments = new Arguments();
arguments.addArgument("num1", "1");
arguments.addArgument("num2", "2");
return arguments;
}
/**
* 性能测试运行体。
*/
@Override
public SampleResult runTest(JavaSamplerContext context) {
result.sampleStart(); // Jmeter 开始计时
boolean success = add(num1, num2);
result.setSuccessful(success); // 是否成功
result.sampleEnd(); // Jmeter 结束计时
return result;
}
private boolean add(int a, int b) {
System.out.println(a+b);
return true;
}
/**
* Jmeter 不会调用 main 方法,这里用于生成 Jar。
* @param args
*/
public static void main(String[] args) {
Arguments arguments = new Arguments();
arguments.addArgument("num1", "1");
arguments.addArgument("num2", "2");
JavaSamplerContext context = new JavaSamplerContext(arguments);
NormalJavaRequestSample sample = new NormalJavaRequestSample();
sample.setupTest(context);
sample.runTest(context);
sample.teardownTest(context);
}
}
1.3 JMeter
安装完 JMeter,将上面代码生成可执行 Jar 包,放到 JMeter/lib/ext/
目录,然后打开 JMeter。
1.3.1 创建 Thread Group
右键 Test Plan
-> Add
-> Thread(Users)
-> Thread Group
1.3.2 创建 Sample
右键新创建的 Thread Group
-> Add
-> Sampler
-> Java Request
,Classname 选择相应的类名,这里是 top.xiexiaodong.example.NormalJavaRequestSample
会出现预设的参数列表: