Jmeter取样器之Java Request(1)
操作步骤
1、Java项目工程中创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写;
public Arguments getDefaultParameters();设置可用参数及的默认值;
public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,做一些初始化工作;
public SampleResult runTest(JavaSamplerContext arg0):开始测试,从arg0参数可以获得参数值;
public void teardownTest(JavaSamplerContext arg0):测试结束时调用;
具体如下:
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
args.addArgument("插入条数", "1");
args.addArgument("Oracle库url","***");
args.addArgument("Oracle库用户名","***");
args.addArgument("Oracle库密码","***");
return args;
}
//每个线程测试前执行一次,做一些初始化工作;
public void setupTest(JavaSamplerContext arg0) {
//业务数据库连接
url = arg0.getParameter("Oracle库url");
user = arg0.getParameter("Oracle库用户名");
password = arg0.getParameter("Oracle库密码");
}
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
record = arg0.getParameter("插入条数");
//定义循环次数
int count = Integer.valueOf(record);
sr.setSampleLabel( "Java请求");
sr.sampleStart();// jmeter 开始统计响应时间标记
try {
//运行内容
// 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。
resultData = end-start;
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;
}
注意点:该类需引入Jmeter的jar包ApacheJMeter_core.jar、ApacheJMeter_java.jar,这两个jar包放置在JMETER_HOME\lib\ext目录下
2、将Java项目工程打成Jar包(确保打包内容包括类JmeterJava的内容);
3、将此jar包放入JMETER_HOME\lib\ext目录;
4、打开Jmeter,创建线程组、Java Request、查看结果树,进行测试,Java Request中选择相应的类名如下所示:
附录:
1、Idea打Jar注意点:需勾选build on make,每次打包直接执行菜单栏Build》Rebulid Project即可完成打包。
2、Jmeter下载地址
链接: https://pan.baidu.com/s/10c2uAmAiXQ-LhyiNK4ZkaQ 提取码: uajv