新建java项目导入目录下apache-jmeter-2.13\lib\extApacheJMeter_core.jar
package com.my.test;
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 App extends AbstractJavaSamplerClient {
private String a;
private String b;
String resultData;
public static String computer(String a, String b) {
return a + b;
}
// 这个方法是用来自定义java方法入参的。
// params.addArgument("num1","");表示入参名字叫num1,默认值为空。
// 设置可用参数及的默认值;
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument( "num1", "" );
params.addArgument( "num2", "" );
return params;
}
// 每个线程测试前执行一次,做一些初始化工作;
@Override
public void setupTest(JavaSamplerContext context) {
// TODO Auto-generated method stub
super.setupTest(context);
}
// 开始测试,从arg0参数可以获得参数值;
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
a = arg0.getParameter( "num1");
b = arg0.getParameter( "num2");
SampleResult sr = new SampleResult();
sr.setSampleLabel( "Java请求");
try {
sr.sampleStart(); // jmeter 开始统计响应时间标记
for (int i = 0; i < 10000; i++) {
resultData = computer( a, b);
sr.setResponseData( "结果是:" + resultData, null );
}
sr.setDataType(SampleResult. TEXT);
sr.setSuccessful( true);
} catch (Throwable e) {
sr.setSuccessful( false);
e.printStackTrace();
} finally {
sr.sampleEnd(); // jmeter 结束统计响应时间标记
}
return sr;
}
@Override
public void teardownTest(JavaSamplerContext context) {
// TODO Auto-generated method stub
super.teardownTest(context);
}
}
导出jar包
验证