创建项目并引入依赖
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>5.4.3</version>
</dependency>
创建测试用例
public class TMPTCPSimple extends AbstractJavaSamplerClient {
private TiConnection connection;
private ExecutorService threadPool;
private Object lock;
/**
* 用于接收测试需要设置的一些参数
* @return
*/
@Override
public Arguments getDefaultParameters() {
Arguments arguments = new Arguments();
arguments.addArgument("host","");
arguments.addArgument("port","");
return arguments;
}
/**
* 实例启动前执行一次,用于初始化一些参数,这里用于初始化Tcp的连接
* @return
*/
@Override
public void setupTest(JavaSamplerContext context) {
String hostAndPort = "loclhost:5601";
ConnectionManager connectionManager = new ConnectionManager(hostAndPort);
connection = connectionManager.getConnection();
threadPool = Executors.newSingleThreadExecutor();
lock = new Object();
}
/**
* 每一次循环测试需要执行的一些业务逻辑
* @return
*/
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
result.sampleStart();
result.setResponseData("需要返回给response的数据","utf-8");
result.setSuccessful(true);
result.setResponseCode("OK");
result.sampleEnd();
return result;
}
/**
* 每测试一轮后执行资源回收任务
* @return
*/
@Override
public void teardownTest(JavaSamplerContext context) {
connection.close();
connection = null;
super.teardownTest(context);
}
}