博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java+Jmeter接口测试
阅读量:5126 次
发布时间:2019-06-13

本文共 2696 字,大约阅读时间需要 8 分钟。

一、创建工程、引包
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(
是一套http协议实现包)
Jmeter用到的4个类:

getDefaultParameters用于获取界面的参数

JavaSamplerContext context) 类似于LR的Action

 

void( 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,为本节介绍的重点
  1. package com.test.jmeter;
  2. import java.io.IOException;   
  3. import org.apache.http.client.ClientProtocolException;   
  4. import org.apache.jmeter.config.Arguments;   
  5. import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;   
  6. import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;   
  7. import org.apache.jmeter.samplers.SampleResult;   
  8. public class Jmeter_GetSearchSuggestion extends AbstractJavaSamplerClient {   
  9. private static String label = "Jmeter_GetSearchSuggestion ";    //定义label名称,显示在jmeter的结果窗口  
  10. private String url;  
  11. private String data;  
  12. public void setupTest(){  
  13. //定义测试初始值,setupTest只在测试开始前使用  
  14. System.out.println("setupTest");  
  15. }  
  16. @Override  
  17. public SampleResult runTest(JavaSamplerContext arg0) {  
  18. url = arg0.getParameter("url");  
  19. data = arg0.getParameter("data");  
  20. SampleResult sr;  
  21. sr = new SampleResult();  
  22. sr.setSampleLabel(label);  
  23. TestApiGetSearchSuggestion t = new TestApiGetSearchSuggestion();  
  24. sr.sampleStart();  
  25. try {  
  26. //调用被压测接口的方法  
  27. t.PostJson(url, data);  
  28. sr.setSuccessful(true);  
  29. catch (ClientProtocolException e) {  
  30. sr.setSuccessful(false);  
  31. e.printStackTrace();  
  32. catch (IOException e) {  
  33. sr.setSuccessful(false);  
  34. e.printStackTrace();  
  35. }  
  36. sr.sampleEnd(); // jmeter 结束统计响应时间标记  
  37. return sr;  
  38. }  
  39. public void teardownTest(JavaSamplerContext arg0){  
  40. super.teardownTest(arg0);  
  41. }  
  42. public Arguments getDefaultParameters(){  
  43. //参数定义,显示在前台,也可以不定义  
  44. Arguments params = new Arguments();  
  45. params.addArgument("url", "http://gapp.test.com/merchandise/GetSearchSuggestion");  
  46. params.addArgument("data", "data={\"token\": \"aaaaaaaaaa\",\"body\": {\"keywords\": \"蓝月亮\"}}");  
  47. return params;  
  48. }  
  49. }  

3、main函数测试成功后,打成jar包,放到%Jmeter_Home%\lib\ext目录中即可
三、运行用例
1、运行%Jmeter_Home%\bin\jmeter.bat
2、添加线程组,Java请求、查看结果树、聚合报告
3、执行后的结果为
Tips:
快捷键
Ctrl+R运行用例、Ctrl+E清除运行结果

转载于:https://www.cnblogs.com/camilla/p/7127780.html

你可能感兴趣的文章
phpMyAdmin导入大的sql文件
查看>>
Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...
查看>>
Ubuntu更改鼠标灵敏度
查看>>
基于 vue2 导航栏透明渐变
查看>>
JavaScript HTML DOM元素节点常用操作接口
查看>>
利用expect实现自动化操作
查看>>
Golang tcp转发 remoteAddr错误
查看>>
文字超出两行 则显示。。。
查看>>
xv6/调度算法及并发程序设计
查看>>
宏函数和函数的区别
查看>>
android adb shell常用命令(四)
查看>>
vs2008配置winddk
查看>>
LR通过SiteScope监控mysql
查看>>
Mybaties配置一对多关系sql实例
查看>>
【UOJ 51】最接近神的人
查看>>
hdu 2222 Keywords Search(ac自动机)
查看>>
lightoj 1037 - Agent 47(状压dp)
查看>>
源码篇:Python 实战案例----银行系统
查看>>
免费的大数据学习资料,这一份就足够
查看>>
clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
查看>>