一、创建工程、引包
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个类:

Arguments  :getDefaultParameters用于获取界面的参数

SampleResult:runTestJavaSamplerContext 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

Java+Jmeter接口测试相关推荐

  1. mac 下安装java, jmeter, ant, jenkins,使用jmeter+ant+jenkins 接口测试集成工具,发送html报告到邮箱中

    涉及到的参考文档,如果有侵权,可以告知,立即删除. 一.全部小工具的安装 1.mac下安装java,jmeter 参考文档:https://www.jianshu.com/p/bce9077d883c ...

  2. Jmeter接口测试实战分享,你一定要知道的问题总结!

    Jmeter是一款性能测试工具,因轻量级.开源.社区接受度高.容易入门等优点,也被测试人员广泛用于做接口测试.在使用Jmeter做较大规模.复杂场景的接口测试时,往往会遇到一些困难.阅读本文你将了解: ...

  3. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins

    目录 [本文简介看之前请详细的看完介绍] 本文是全网首发的[全栈接口测试进阶系列教程]jmeter接口测试工具从入门到入职, 接口系列包含 接口测试系列包含所有的接口测试工具入门到入职,如果你喜欢的话 ...

  4. JMeter 接口测试-if控制器

    今天是小雪节气: 小雪是二十四节气中的第20个.起点于每年公历11月22日或23日,太阳位于赤纬-20°16',到达黄经240°. JMeter 接口测试-if控制器 使用场景: 当业务场景是用户登录 ...

  5. Jmeter接口测试-if控制器

    点击箭头处"蓝色字",关注我哦!! 小雪是二十四节气中的第20个.起点于每年公历11月22日或23日,太阳位于赤纬-20°16',到达黄经240°. JMeter 接口测试-if控 ...

  6. 如何使用jmeter进行接口测试?jmeter接口测试流程是怎样的

    前言 我们学习自动化测试都会用到不同的工具,那么今天笔者呢,想给大家聊聊Jmeter接口测试流程详解,废话不多说直接进入正题. 一.jmeter简介 Jmeter是由Apache公司开发的java开源 ...

  7. jmeter接口测试面试题(jmeter接口测试步骤)

    jmeter性能测试只能用于java开发的软件吗 不需要,Jmeter虽然提供了编写脚本的功能,但是不会编程也一样可以用的. 如何建立和使用Jmeter测试环境? 如何用Jmeter做压力测试Jmet ...

  8. Jmeter接口测试实例

    一.关于Jmeter接口测试 选择使用Jmeter的原因:与其他工具或者框架的比对 - Postman 和 HttpRunner Jmeter本身适合做性能压测,进行接口测试时能够在测试计划中编写测试 ...

  9. Jmeter接口测试2-实战

    按照之前整理的接口文档进行Jmeter接口测试,主要是考虑第五点和第六点的接口中请求头带有cookie的,且参数与第一个接口有关联. 最终结果: 首先,按照实战的实际经验: 1,添加线程组 2.再添加 ...

最新文章

  1. 博文视点大讲堂35期-It's Android Time:程序员创富有道! 圆满结束
  2. Android开发之Service通过Messenger实现线程间的通信
  3. jquery 设置style:display 其实很方便的
  4. OpenCV About 页面翻译
  5. 商城项目实战2-登录模块的实现
  6. Docker创建springboot项目镜像pom及Dockerfile配置文件
  7. 两亿人在家开会!钉钉紧急扩容1万台云服务器
  8. JS 简易的计算器
  9. WCF热带鱼书学习手记 - ABC
  10. 利用openssl进行base64的编码与解码
  11. [转]十五天精通WCF——第七天 Close和Abort到底该怎么用才对得起观众
  12. JavaScript学习笔记
  13. 模拟CMOS集成电路学习笔记——MOS器件物理基础
  14. 网络管理员考试试题讲解
  15. 远程桌面连接只有2个会话活动
  16. Photoshop绝色美女通道抠图法
  17. 怎么抓取计算机窗口,又学会了一种黑别人电脑的方法——如何在登录界面获取shell...
  18. MIT赵选贺再发《Nature Biomedical Engineering》​!
  19. 西门子S7-200 PLC 与信捷DS2伺服通讯程序,实际应用于编码器同步控制案例,即将编码器直接连接到伺服驱动器上
  20. python opencv 数米粒

热门文章

  1. 每日一学:如何读取网络图片
  2. request用法_虚拟语气用法总结
  3. python设置一个初始为0的计数器_python中统计计数的几种方法
  4. 猜数字游戏python程序_python经典小程序:猜数字游戏
  5. cocos2dX 之数据存储
  6. 解决Yii2邮件发送问题(结果返回成功,但接收不到邮件)
  7. 升级ADT22.6后,Android模拟器无法创建
  8. 设计模式4-创建型模式-Prototype模式
  9. 三个子系统_「正点原子Linux连载」第五十八章Linux INPUT子系统实验(一)
  10. Vue中import引入模块路径时的@符号