iper工具使用指南02(jmeter的java接口篇)
2013-11-15 10:11
381 查看
前一篇我们介绍了http请求的jmeter脚本的创建,现在我们介绍下,如何写java的接口性能测试;
首先,在eclipse环境下创建一个java工程,然后加入你要压测系统的jar包,同时还需要将jmeter的测试基础包加进来:ApacheJMeter_java.jar和ApacheJMeter_core.jar,这两个jar包在jmeter工具的lib\ext下可以找到;为了方便调试,还会增加一些jmeter的日志包:jorphan.jar,logkit-2.0.jar,commons-logging-1.1.1.jar,avalon-framework-4.1.4.jar,这些jar包,都可以在Jmeter工具的lib下面找到;
添加好依赖的jar包后,我们就可以来编写接口测试的内容了;
在org.apache.jmeter.protocol.java.test下,创建要测试的class类;
package org.apache.jmeter.protocol.java.test;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
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;
import 被压测接口;
public class mbis_affiliateLogin extends AbstractJavaSamplerClient {
private static String label = "affiliateLogin";//定义label名称,显示在jmeter的结果窗口
private Map variableMap=new HashMap();;
long trackId ;
long buyerId ;
Date lastVisit;
private AsynchronousCall asynchronuoscall;//定义要测试的hsf接口
public void setupTest(JavaSamplerContext arg0) {
//定义测试初始值,setupTest只在测试开始前使用
}
public Arguments getDefaultParameters() {
//参数定义,显示在前台,也可以不定义
Arguments params = new Arguments();
params.addArgument("trackId", "24321435345");
params.addArgument("buyerId", "2031166562");
return params;
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
SampleResult sr;
sr = new SampleResult();
sr.setSampleLabel(label);
boolean success=true;
//填写压测时传入的参数
variableMap.put("trackId",24321435345L);
variableMap.put("buyerId",2031166562L);
variableMap.put("lastVisit",new Date());
//执行开始
sr.sampleStart();
try {
//调用被压测接口的方法
asynchronuoscall.affiliateLogin(variableMap);
} catch (Throwable e) {
success=false;
} finally {
//执行结束
sr.sampleEnd();
sr.setSuccessful(success);
}
return sr;
}
}
写完接口测试类后,需要调试,就可以创建个main函数来调试一下结果:
package org.apache.jmeter.protocol.java.test;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
public class maintest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//把测试接口类new一个对象
mbis_affiliateLogin hsftest = new mbis_affiliateLogin();
JavaSamplerContext arg0 = new JavaSamplerContext(hsftest
.getDefaultParameters());
//初始值执行
hsftest.setupTest(arg0);
//执行部分调用
hsftest.runTest(arg0);
//执行结束处理
hsftest.teardownTest(arg0);
}
}
调试成功后,就可以来打测试jar包了,两种打包方式:
1.先把ApacheJMeter_java.jar解压,然后把创建的工程中,bin下面的class文件拷贝出来,拷贝到ApacheJMeter_java.jar的“org.apache.jmeter.protocol.java.test”下面
打开电脑的开始->运行,输入cmd,打开dos命令行,进入jmeter的ApacheJMeter_java所在目录中,执行打包命令,jar cf ApacheJMeter_java.jar org,这个就能重新打包一个ApacheJMeter_java.jar包了,然后把自己本地jmeter的lib/ext下的jar包给替换掉;
2.直接把测试类在eclipse下Export打成jar包,然后拷贝到jmeter的lib/ext下面,这个方法最简单,推荐使用;
打包结束后,还需要把被压测系统的jar包以及所需的依赖放入到jmeter工具的lib下面,这样才能调用到;
好了,现在再打开jmeter工具,添加线程组->事务控制器->java请求,这时候类名称里面,就可以看到你刚才工程中创建的类名了;
这样,java接口压测的脚本就创建成功啦~~~
很多时候,我们不单单需要java接口测试,有一些hsf的接口需要测试,这时候我们需要在测试类中添加hsfunit的东西,添加bean了
在setupTest之前,可以添加hsfstart的内容:
static {
//hsf启动版本
HSFEasyStarter.start("D:\\project", "1.4.8.7");
System.out.println("hsf start: ----------------");
try {
//sleep2s,等待地址推送
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
另外,在setupTest的里面,添加getbean的内容:
//配置getbean的xml地址
String[] locations = { "D:\\project\\works\\mbis_hsf_test\\src\\mbis_beans.xml" };
ApplicationContext context = new FileSystemXmlApplicationContext(locations);
//getbean的内容填写
registerService = (RegisterService) context.getBean("registerService");
在相应的地方,把bean文件填写了就可以了(可以参考下hsf单元测试的编写内容),同时不要忘记把用到的如spring、hsfunit的jar包也放入到jmeter的lib下就可以了
首先,在eclipse环境下创建一个java工程,然后加入你要压测系统的jar包,同时还需要将jmeter的测试基础包加进来:ApacheJMeter_java.jar和ApacheJMeter_core.jar,这两个jar包在jmeter工具的lib\ext下可以找到;为了方便调试,还会增加一些jmeter的日志包:jorphan.jar,logkit-2.0.jar,commons-logging-1.1.1.jar,avalon-framework-4.1.4.jar,这些jar包,都可以在Jmeter工具的lib下面找到;
添加好依赖的jar包后,我们就可以来编写接口测试的内容了;
在org.apache.jmeter.protocol.java.test下,创建要测试的class类;
package org.apache.jmeter.protocol.java.test;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
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;
import 被压测接口;
public class mbis_affiliateLogin extends AbstractJavaSamplerClient {
private static String label = "affiliateLogin";//定义label名称,显示在jmeter的结果窗口
private Map variableMap=new HashMap();;
long trackId ;
long buyerId ;
Date lastVisit;
private AsynchronousCall asynchronuoscall;//定义要测试的hsf接口
public void setupTest(JavaSamplerContext arg0) {
//定义测试初始值,setupTest只在测试开始前使用
}
public Arguments getDefaultParameters() {
//参数定义,显示在前台,也可以不定义
Arguments params = new Arguments();
params.addArgument("trackId", "24321435345");
params.addArgument("buyerId", "2031166562");
return params;
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
SampleResult sr;
sr = new SampleResult();
sr.setSampleLabel(label);
boolean success=true;
//填写压测时传入的参数
variableMap.put("trackId",24321435345L);
variableMap.put("buyerId",2031166562L);
variableMap.put("lastVisit",new Date());
//执行开始
sr.sampleStart();
try {
//调用被压测接口的方法
asynchronuoscall.affiliateLogin(variableMap);
} catch (Throwable e) {
success=false;
} finally {
//执行结束
sr.sampleEnd();
sr.setSuccessful(success);
}
return sr;
}
}
写完接口测试类后,需要调试,就可以创建个main函数来调试一下结果:
package org.apache.jmeter.protocol.java.test;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
public class maintest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//把测试接口类new一个对象
mbis_affiliateLogin hsftest = new mbis_affiliateLogin();
JavaSamplerContext arg0 = new JavaSamplerContext(hsftest
.getDefaultParameters());
//初始值执行
hsftest.setupTest(arg0);
//执行部分调用
hsftest.runTest(arg0);
//执行结束处理
hsftest.teardownTest(arg0);
}
}
调试成功后,就可以来打测试jar包了,两种打包方式:
1.先把ApacheJMeter_java.jar解压,然后把创建的工程中,bin下面的class文件拷贝出来,拷贝到ApacheJMeter_java.jar的“org.apache.jmeter.protocol.java.test”下面
打开电脑的开始->运行,输入cmd,打开dos命令行,进入jmeter的ApacheJMeter_java所在目录中,执行打包命令,jar cf ApacheJMeter_java.jar org,这个就能重新打包一个ApacheJMeter_java.jar包了,然后把自己本地jmeter的lib/ext下的jar包给替换掉;
2.直接把测试类在eclipse下Export打成jar包,然后拷贝到jmeter的lib/ext下面,这个方法最简单,推荐使用;
打包结束后,还需要把被压测系统的jar包以及所需的依赖放入到jmeter工具的lib下面,这样才能调用到;
好了,现在再打开jmeter工具,添加线程组->事务控制器->java请求,这时候类名称里面,就可以看到你刚才工程中创建的类名了;
这样,java接口压测的脚本就创建成功啦~~~
很多时候,我们不单单需要java接口测试,有一些hsf的接口需要测试,这时候我们需要在测试类中添加hsfunit的东西,添加bean了
在setupTest之前,可以添加hsfstart的内容:
static {
//hsf启动版本
HSFEasyStarter.start("D:\\project", "1.4.8.7");
System.out.println("hsf start: ----------------");
try {
//sleep2s,等待地址推送
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
另外,在setupTest的里面,添加getbean的内容:
//配置getbean的xml地址
String[] locations = { "D:\\project\\works\\mbis_hsf_test\\src\\mbis_beans.xml" };
ApplicationContext context = new FileSystemXmlApplicationContext(locations);
//getbean的内容填写
registerService = (RegisterService) context.getBean("registerService");
在相应的地方,把bean文件填写了就可以了(可以参考下hsf单元测试的编写内容),同时不要忘记把用到的如spring、hsfunit的jar包也放入到jmeter的lib下就可以了
相关文章推荐
- Java实践(零)---开发工具使用指南 (IntelliJ IDEA )
- 压力测试工具--JMeter使用指南
- Java实践(零)---开发工具使用指南 (Eclipse)
- 性能测试工具JMeter使用指南
- 压力测试工具jmeter的使用
- 翻译:高级工具:使用Java本机访问
- Java小工具Lombok安装和使用,让JAVA代码更优雅
- 便利的开发工具 CppUnit 快速使用指南
- 前端自动化构建工具Webpack1.x开发模式使用指南
- Java千百问_02基本使用(012)_如何编写非阻塞SocketChannel程序
- Java对象、Json、Xml转换工具Jackson使用
- java内存工具VisualVM的简单使用以及与Idea集成
- 常用java开发使用到的工具以及下载地址 - Java开发软件列表
- CXF中 wsdl2java工具的使用方法
- 压力测试工具 jmeter 使用发送json报文
- wsdl2java.bat详细使用指南
- Android(java)学习笔记250:ContentProvider使用之获得系统联系人信息02(掌握)
- Java的Build工具—Ant应用指南(3)
- 白盒静态自动化测试工具:FindBugs使用指南
- 番外 02: Spring 之使用 JAVA 操作Mysql数据库(为何要用ORM)Spring整合 Mybatis前基础