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 

posted on 2018-11-05 11:15  seamy  阅读(1342)  评论(0编辑  收藏  举报