一、新建java项目
1、添加jmeter_home/lib/ext/下ApacheJMeter_core.jar,ApacheJMeter_java.jar包
选择java接口测试的时候也可以看到jmeter默认也提供2个demo方法,可以在源码进行查看
2、新建测试类实现JavaSamplerClient接口,或者继承
AbstractJavaSamplerClient接口
package com.wuxi.test;
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 JmeterTest implements JavaSamplerClient {
private SampleResult results;
private String a;
private String b;
private String c;
//此方法为参数化内容,可以体现在GUI模式中,如果返回为null,则不显示
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("First", "");//参数化名字自己定义
params.addArgument("second", "");
return params;
}
//每次迭代执行的内容部分
public SampleResult runTest(JavaSamplerContext arg0) {
results = new SampleResult();
results.setSampleLabel("JmeterJavaTest");//查看结果树中线程名称
results.sampleStart(); //事务开始,开始计算时间
try {
c = GetStringTest(a,b );//调用java接口
results.setResponseData(c, null);//输出方法结果
results.setDataType(SampleResult.TEXT);// 输出结果保存内容
System.out.println(c);//Jmeter启动的控制台终端显示
results.setSuccessful(true);//设置测试结果true
} catch (Throwable e) {
results.setSuccessful(false);//设置测试结果为false
e.printStackTrace();
} finally {
results.sampleEnd(); //事务结束,计算时间
}
return results;
}
//执行初始化内容,每个线程执行一次。通常建议在该方法中获取参数值,而不是RunTest方法中使用,以便尽可能少测试开销
public void setupTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
a = arg0.getParameter("First");
b = arg0.getParameter("second");//获取参数化内容
}
//在测试运行结束时进行本次测试所需的清理工作,也是一个线程执行一次
public void teardownTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
}
//写一个测试方法
public static String GetStringTest(String a, String b) {
return "____________"+a+b+"____________";
}
}
具体参考jmeterapi官方说明:
https://jmeter.apache.org/api/index.html
3、导出jar包,无需导出依赖包;如果测试类用到其他依赖包也需要一并导出,放到etx/下
二、打开jmeter
1、新建一个线程组,选择java请求
参数化的内容 根据类型填写
执行结果如下:测试成功