引言

最近开发 java 后端项目,对外提供Restful API接口,完整功能开发现已完成。
目前通过单测(68%行覆盖率)已保证业务逻辑正确性,同时也尝试使用JMeter进行压力测试以保证并发性能,现做一些梳理与总结

构建Http接口测试步骤

1、创建一个线程组A
 
2、在线程组A中创建一个Sampler/Http请求
 
3、选择新建的http请求,设置服务地址、端口、请求uri、请求参数等
 
4、线程组配置
如希望测试上述接口并发调用性能,考虑创建100个线程,每个线程调用接口10次,则对线程组做如下配置
 
5、此时点击工具栏中的“启动”,即可实际发送http请求
一般情况我们需要对验证返回结果,因此增加
“响应断言”:验证返回数据是否符合预期
“查看结果树”:展示API请求结果及响应断言验证结果
“用表格查看结果” :表格形式呈现API请求耗时、状态码、数据大小等(可批量调用接口查看平均耗时)
(这几项元素可以直接放在测试计划中,若针对接口调用需要在“响应断言”中做特殊值验证,则应将该响应断言置于线程组中)
 
6、添加“响应断言”,验证返回的json数据中包含xxx
 
 
7、添加“查看结果树”,查看API调用是否成功
 
8、添加“用表格查看结果”,查看API请求耗时
 
 
工具栏“清理”清除结果
 
9、现已完成一个测试用例
当有多个线程组后(对应多个压测用例),可以使用ctrl+t快速切换线程组状态(禁用/启用),每次执行测试时可以仅开启一个测试用例
 
 

实际操作需注意的细节列举如下

1、服务接口仅接受json格式数据,需要设定header信息
在线程组中添加Http信息头管理器
添加Content-Type参数,值为application/json,如下
 
2、构建随机值参数
某接口接受的一个请求参数,不允许重复
添加随机变量
 
订单id,使用随机数
 
编辑HTTP请求,Body Data中描述的json数据中引用随机变量
 

初次使用总结

1、可以线程组为粒度定制测试用例
2、构建并发请求极其方便,可以表格形式直观查看请求耗时
3、测试计划为xml格式文本,可入版本库进行维护
 
其他功能等待以后有机会再来发掘~~
 
其他Jmeter相关资料
Jmeter基础之---jmeter基础概念 

[原创]JMeter初次使用总结的更多相关文章

  1. [原创]Jmeter工具学习思维导图

    [原创]Jmeter工具学习思维导图

  2. 【JMeter连接SQLServer】採用window鉴权方式连接(原创)

    大家都知道Jmeter能够连接各种数据库.这方面我也不多说了,假设你还不知道怎么连接的话.能够參看我看的另外一篇博文.这边有具体的介绍 http://blog.csdn.net/lzqinfen/ar ...

  3. 【原创】JMeter学习(三十七)Jmeter录制手机app脚本

    环境准备: 1.手机 2.wifi 3.Jmeter   具体步骤: 1.启动Jmeter: 2.“测试计划”中添加“线程组”: 3.“工作台”中添加“HTTP代理服务器”: 4.配置代理服务器:Gl ...

  4. 【Fine原创】JMeter分布式测试中踩过的那些坑

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  5. 【原创】相对完整的一套以Jmeter作为工具的性能测试教程(接口性能测试,数据库性能测试以及服务器端性能监测)

    准备工作 jmeter3.1,为什么是3.1,因为它是要配合使用的serveragent所支持的最高版本,下载链接 https://pan.baidu.com/s/1dWu5Ym JMeterPlug ...

  6. WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)

    软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...

  7. 【柠檬班】史上最简单的Jmeter跨线程组取参数值的两种办法(不写代码)【原创】

    如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是jmeter的变量值不能跨线程组传递.   看,官方就已经给出了解释.这个不是jmeter的缺陷,这是jmeter ...

  8. 【原创】基于RBI的性能测试理念,通过jmeter快速定位接口最大并发用户数

    测试工具:jmeter v_5.2 测试对象:某网站的物料获取接口,需登录后操作 测试目的:快速定位该接口最大并发用户数 思路&步骤: 1.模拟一个场景,某天临近下班,主管突然过来让你测下你们 ...

  9. 【黑金ZYNQ7000系列原创视频教程】05.FPGA和ARM的初次结合——LED实验

    黑金论坛地址: http://www.heijin.org/forum.php?mod=viewthread&tid=36639&extra=page%3D1 爱奇艺地址: http: ...

随机推荐

  1. LeetCode OJ:Divide Two Integers(两数相除)

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  2. springmvc 请求和响应的json和Object的转换

    就是两个注解的使用@RequestBody和@ResponseBody注解的使用,然后springmvc解析进行转换然后注入 例子: @RequestMapping("/...") ...

  3. CSS3 Media Query 响应式媒体查询

    在CSS中,有一个极其实用的功能:@media 响应式布局.具体来说,就是可以根据客户端的介质和屏幕大小,提供不同的样式表或者只展示样式表中的一部分.通过响应式布局,可以达到只使用单一文件提供多平台的 ...

  4. [置顶] 【Android实战】----从Retrofit源码分析到Java网络编程以及HTTP权威指南想到的

    一.简介 接上一篇[Android实战]----基于Retrofit实现多图片/文件.图文上传中曾说非常想搞明白为什么Retrofit那么屌.最近也看了一些其源码分析的文章以及亲自查看了源码,发现其对 ...

  5. 旧书重温:0day2【9】第六章 攻击c++的虚函数

    不知不觉,我们学到了0day2的第六章形形色色的内存攻击技术!其中,这张很多东西都是理论的东西,不过!我们还是要想办法还原下发生的现场! 其中部分文章截图 http://user.qzone.qq.c ...

  6. 随机获取图片的api接口

    http://lorempixel.com/1600/900 https://unsplash.it/1600/900?random(国内加载略慢) https://uploadbeta.com/ap ...

  7. [转载] ffmpeg 基本数据结构和对象: AVPacket、AVPicture、AVFrame

    一.AVPacket /** * AVPacket 作为解码器的输入 或 编码器的输出. * 当作为解码器的输入时,它由demuxer生成,然后传递给解码器 * 当作为编码器的输出时,由编码器生成,然 ...

  8. Sublimetext3插件与使用技巧

    1.    package control 的安装与注意事项 2.    常用插件的安装与注意事项 3.    主题风格设置 4.    常用快捷键 https://packagecontrol.io ...

  9. Robot Framework接口测试(2)--http请求之get

    本来打算把http发送请求的get和post方法都介绍一下的,结果发现篇幅有点长,文本编辑也变得混乱,所以这里先介绍一下get方法,下一次再post.其实这些方法大家可以看一下源码里面的介绍只需要在代 ...

  10. 数据库连接配置 app.config web.config

    通过ADO.Net连接程序和SQLServer数据库的连接字符串: connectionString ="server=(local);database=Demo;integrated se ...