一、创建工程、引包
1、创建JAVA工程
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个类:
常用的方法:
①、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,为本节介绍的重点
1 package com.test.jmeter;
2
3 import java.io.IOException;
4
5 import org.apache.http.client.ClientProtocolException;
6 import org.apache.jmeter.config.Arguments;
7 import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
8 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
9 import org.apache.jmeter.samplers.SampleResult;
10
11 public class Jmeter_GetSearchSuggestion extends AbstractJavaSamplerClient {
12
13 private static String label = "Jmeter_GetSearchSuggestion "; //定义label名称,显示在jmeter的结果窗口
14 private String url;
15 private String data;
16
17 public void setupTest(){
18 //定义测试初始值,setupTest只在测试开始前使用
19 System.out.println("setupTest");
20 }
21
22 @Override
23 public SampleResult runTest(JavaSamplerContext arg0) {
24
25 url = arg0.getParameter("url");
26 data = arg0.getParameter("data");
27 SampleResult sr;
28 sr = new SampleResult();
29 sr.setSampleLabel(label);
30
31 TestApiGetSearchSuggestion t = new TestApiGetSearchSuggestion();
32 sr.sampleStart();
33 try {
34 //调用被压测接口的方法
35 t.PostJson(url, data);
36 sr.setSuccessful(true);
37 } catch (ClientProtocolException e) {
38 sr.setSuccessful(false);
39 e.printStackTrace();
40 } catch (IOException e) {
41 sr.setSuccessful(false);
42 e.printStackTrace();
43 }
44
45 sr.sampleEnd(); // jmeter 结束统计响应时间标记
46 return sr;
47 }
48
49 public void teardownTest(JavaSamplerContext arg0){
50 super.teardownTest(arg0);
51 }
52
53 public Arguments getDefaultParameters(){
54 //参数定义,显示在前台,也可以不定义
55 Arguments params = new Arguments();
56 params.addArgument("url", "http://gapp.test.com/merchandise/GetSearchSuggestion");
57 params.addArgument("data", "data={\"token\": \"aaaaaaaaaa\",\"body\": {\"keywords\": \"蓝月亮\"}}");
58 return params;
59 }
60
61 }
3、main函数测试成功后,打成jar包,放到%Jmeter_Home%\lib\ext目录中即可
同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】
软件测试视频教程观看处:
软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......
三、运行用例
1、运行%Jmeter_Home%\bin\jmeter.bat
2、添加线程组,Java请求、查看结果树、聚合报告
3、执行后的结果为
Tips:
快捷键
Ctrl+R运行用例、Ctrl+E清除运行结果
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。