Jmeter接口测试实例分享

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Jmeter接口测试实例分享--Yahoo翻译机项目

1、创建JavaSampler测试用例

a)新建测试工程,在classspath中引入%Jmeter%\lib\ext下的ApacheJMeter_core.jar和

ApacheJMeter_java.jar

b)创建测试类并继承抽象类AbstractJavaSamplerClient

public class YahooTranslateServicePerfTest extends AbstractJavaSamplerClient{

private SampleResult results;

private String content;

private SupportedLanguage sourceLan;

private SupportedLanguage destLan;

private YahooTranslateServiceImpl service;

private String res = null;

private YahooTranslateDao dao;

//初始化方法,每个线程仅执行一次,在测试方法运行前执行

public void setupTest(JavaSamplerContext arg0) {

//实例化yahoo翻译服务,也可以通过spring注入的方式获得一个实例

service = new YahooTranslateServiceImpl();

try {

//实例化翻译服务DAO对象,设置yahoo翻译机IP及端口数量

dao = new YahooTranslateDaoImpl("10.20.146.5:10");

} catch (InterruptedException e) {

e.printStackTrace();

}

service.setYahooTranslateDao(dao);

}

//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

//定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值

params.addArgument("content", "apple"); //翻译内容

params.addArgument("sourceLan", "en"); //源语言

params.addArgument("destLan", "it"); //目标语言

return params;

}

//测试执行的循环体,根据线程数和循环次数的不同可执行多次,是最主要的脚本代码,

//就如同http请求里的发送请求的关键脚本,返回的SampleResult作为一次请求的结果

public SampleResult runTest(JavaSamplerContext arg0) {

//获取参数信息

content = arg0.getParameter("content", "apple");

sourceLan = SupportedLanguage.getLanguage(arg0.getParameter("sourceLan", "en"));

destLan = SupportedLanguage.getLanguage(arg0.getParameter("destLan", "it"));

results = new SampleResult();

results.sampleStart(); //开始采样

res = service.translate(content, sourceLan, destLan); //调用翻译接口

results.sampleEnd(); //采样结束

results.setDataEncoding("UTF-8");

if(res == null || res == "") {

results.setResponseMessage("res = null");

results.setSuccessful(false);

}else if(res == "error!!!") {

results.setResponseMessage("res = error!!!");

results.setSuccessful(false);

}else {

results.setResponseMessage(res);

results.setSuccessful(true);

}

return results;

}

}

c) 用例调试,创建main函数

Public static void main(String[] args) {

YahooTranslateServicePerfTest yahooperftest = new YahooTranslateServicePerfTest();

JavaSamplerContext con = new JavaSamplerContext(yahooperftest.getDefaultParameters());

yahooperftest.setupTest(con);

yahooperftest.runTest(con);

}

}

d) 将项目工程打成普通jar包,工程依赖的所有外部类库都打成runnable jar包

e) 把导出的jar包考到%jmeter%\lib\ext目录下,启动jmeter,添加线程组,添加JavaSampler请求

f) 设置好所需并发量,参数化参数值就可以开测了!!!

相关文档
最新文档