码迷,mamicode.com
首页 > 其他好文 > 详细

Jmeter接口測试

时间:2014-07-16 18:00:14      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   使用   



一、创建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协议实现包
bubuko.com,布布扣
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统计成功失败的次数,在聚合报告中可以体现。

二、用例
bubuko.com,布布扣
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 = arg0.getParameter("data");
SampleResult sr;
sr = new SampleResult();
sr.setSampleLabel(label);

TestApiGetSearchSuggestion t = new TestApiGetSearchSuggestion();
sr.sampleStart();
try {
//调用被压測接口的方法
t.PostJson(url, data);
sr.setSuccessful(true);
} catch (ClientProtocolException e) {
sr.setSuccessful(false);
e.printStackTrace();
} catch (IOException e) {
sr.setSuccessful(false);
e.printStackTrace();
}

sr.sampleEnd();	// jmeter 结束统计响应时间标记
return sr;
}

public void teardownTest(JavaSamplerContext arg0){
super.teardownTest(arg0);
}

public Arguments getDefaultParameters(){
//參数定义,显示在前台,也能够不定义
Arguments params = new Arguments();
params.addArgument("url", "http://gapp.test.com/merchandise/GetSearchSuggestion");
params.addArgument("data", "data={\"token\": \"aaaaaaaaaa\",\"body\": {\"keywords\": \"蓝月亮\"}}");
return params;
}

}


3、main函数測试成功后,打成jar包,放到%Jmeter_Home%\lib\ext文件夹中就可以


三、执行用例
1、执行%Jmeter_Home%\bin\jmeter.bat
2、加入线程组,Java请求、查看结果树、聚合报告
bubuko.com,布布扣
3、运行后的结果为
bubuko.com,布布扣

Tips:
快捷键
Ctrl+R执行用例、Ctrl+E清除执行结果


參考资料:




Jmeter接口測试,布布扣,bubuko.com

Jmeter接口測试

标签:style   blog   http   java   color   使用   

原文地址:http://www.cnblogs.com/mengfanrong/p/3847410.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!