首页 > 代码库 > Jmeter接口測试
Jmeter接口測试
一、创建project、引包
1、创建JAVAproject
2、引入Jmeter中lib\ext基础包:ApacheJMeter_java.jar、ApacheJMeter_core.jar
3、引入Jmeter日志包:jorphan.jar,logkit-2.0.jar,commons-logging-1.1.1.jar,avalon-framework-4.1.4.jar
4、引入httpclient-4.3.4.jar(是基于httpcore的一套客户端)、httpcore-4.3.2.jar(是一套http协议实现包)
Jmeter用到的4个类:
Arguments | getDefaultParameters() 用于获取界面的參数 |
SampleResult | runTest(JavaSamplerContext context) 类似于LR的Action |
void | setupTest(JavaSamplerContext context) 初始化方法,类似于LR的init和Junit中的setUp() |
void | teardownTest(JavaSamplerContext context) 类似于LR的end和Junit中的tearDown() |
运行的先后顺序为:getDefaultParameters() --> setupTest(JavaSamplerContext context) --> runTest(JavaSamplerContext context) --> teardownTest(JavaSamplerContext context)
经常使用的方法:
①、addArgument("name", "value") 定义參数
②、sampleStart() 定义事务的開始,类似于LR的lr_start_transaction,和LR一样事务间不要放无关代码
③、sampleEnd() 定义事务的结束,类似于LR的lr_end_transaction
④、setSuccessful(true、false) 设置执行结果的成功或失败,Jmeter统计成功失败的次数,在聚合报告中可以体现。
二、用例
1、TestApiGetSearchSuggestion.java,该代码实现对Api接口的请求,对返回的数据进行推断,并写文件。
2、Jmeter_GetSearchSuggestion.java,为本节介绍的重点
package com.test.jmeter; import java.io.IOException; import org.apache.http.client.ClientProtocolException; 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 Jmeter_GetSearchSuggestion extends AbstractJavaSamplerClient { private static String label = "Jmeter_GetSearchSuggestion "; //定义label名称,显示在jmeter的结果窗体 private String url; private String data; public void setupTest(){ //定义測试初始值,setupTest仅仅在測试開始前使用 System.out.println("setupTest"); } @Override public SampleResult runTest(JavaSamplerContext arg0) { url = arg0.getParameter("url"); data = http://www.mamicode.com/arg0.getParameter("data");>
3、main函数測试成功后,打成jar包,放到%Jmeter_Home%\lib\ext文件夹中就可以
三、执行用例
1、执行%Jmeter_Home%\bin\jmeter.bat
2、加入线程组,Java请求、查看结果树、聚合报告
3、运行后的结果为
Tips:
快捷键
Ctrl+R执行用例、Ctrl+E清除执行结果
參考资料:
http://wangym.iteye.com/blog/731729
http://www.taobaotest.com/blogs/2293
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。