1、 maven pom
<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>2.13</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>2.13</version>
</dependency>
</dependencies>
2、代码段
package 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 JmeterJavaSample extends AbstractJavaSamplerClient{
private SampleResult sampleresult = new SampleResult();
//把测试的一些默认数据在程序运行前显示到JMeter客户端
@Override
public Arguments getDefaultParameters()
{
Arguments params = new Arguments();
params.addArgument("key1","value1");
params.addArgument("key2","value2");
return params;
}
//子类用它来 记录log
protected org.apache.log.Logger getLogger()
{
return null;
}
//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行
public void setupTest(JavaSamplerContext context)
{
//获取界面中传递的值
String value1 = context.getParameter("key1");
//获取界面中传递的值
String value2 = context.getParameter("key2");
}
//测试执行的循环体,根据线程数和循环次数的不同可执行多次
@Override
public SampleResult runTest(JavaSamplerContext context) {
//获取界面中传递的值
String value1 = context.getParameter("key1");
//获取界面中传递的值
String value2 = context.getParameter("key2");
sampleresult.sampleStart();
// TODO Auto-generated method stub
sampleresult.setSuccessful(true);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sampleresult.sampleEnd();
return sampleresult;
}
//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行
public void teardownTest(JavaSamplerContext context)
{
//获取界面中传递的值
String value1 = context.getParameter("key1");
//获取界面中传递的值
String value2 = context.getParameter("key2");
}
}
3、将代码Export 为JAR包,导入到jmeter/lib/ext文件夹下面
4、进入jmeter,线程组--sample--java sampel