引言

最近开发 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. 在VMware永久修改网

    如果想要永久性设置固定的IP地址,需要通过编辑网卡配置文件实现: 现在使用VI编辑器打开配置文件. # vi /etc/sysconfig/network-scripts/ifcfg-eth0 虽然直 ...

  2. hdu4619

    题解: 最大独立集问题 显然对于每一对交叉的建边 然后求出最大独立集 最大独立集=n-最大匹配 代码: #include<cstdio> #include<cmath> #in ...

  3. Python基础学习(第2天)

    第三课:序列(sequence) 1.序列是一种有顺序的元素的集合 序列可以包含1个或多个元素,也可以不包括任何元素: 序列中的元素可以是[基础数据类型]中任一种,也可以是[别的序列]. s1 = ( ...

  4. L133

    The U.S. Food and Drug Administration is considering a ban on flavorede-cigarettes in response to an ...

  5. 【python】windows下安装xgboost的python库

    傻瓜教程 主要参考了https://www.hongweipeng.com/index.php/archives/826/  和 https://github.com/dmlc/xgboost/iss ...

  6. jquery 中多条件选择器,相对选择器,层次选择器的区别

    一.Jquery常用的过滤选择器如下所示: 1.:first,选取第一个元素,比如$("div:first")选取第一个div元素 2.:last,选取最后一个元素,比如$(&qu ...

  7. 再读《Java编程思想 》

    前段时间在豆瓣上无意间看到一个帖子"我为什么把thinking in java 读了10遍",是11年的帖子,下面评论至今,各种声音都有,不过大多数还是佩服和支持的.我个人来讲也是 ...

  8. PhotoPicker 从头到脚

    1. 简介 PhotoPicker, 是一款开源的图片选择器.效果上和微信相似. 2. 使用方法 2.1 添加依赖 dependencies { compile 'me.iwf.photopicker ...

  9. 解决跨域POST登录中IE不能正常工作的bug

    结合我的这篇blog <简单实用的跨域表单POST提交> 文章,这篇blog中的思路是解决在www.a.com站中登录 同时要把关联站www.b.com登录状态也设置成登录状态,在a中获取 ...

  10. MyBatis典型的错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    XXXmapper.java(接口) XXXmapper.xml(结果集映射) //此两个文件要在统一包下,且xml中的namespace是唯一的,为了区分须写成 该xml的全路径