引言

最近开发 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基础概念 

最新文章

  1. NotePad++中如何出去闪烁的光标?
  2. 一次sql排序的问题。
  3. Kotlin 介绍
  4. 使用Spring发送邮件
  5. 基于Elasticsearch开发时的注意事项备忘
  6. redis 应用
  7. Visual Studio 当前不会命中断点的问题
  8. Orchard中的Host和Tenant
  9. HDU 5631 Rikka with Graph
  10. 在ubtuntu中使用包管理器 linux-brew
  11. 使用Python统计函数绘制复杂图形matplotlib
  12. Process 开启子进程 的两种方式、join控制子进程、守护进程
  13. docker容器的使用
  14. BZOJ 1001 - 狼抓兔子 - [Dinic最大流][对偶图最短路]
  15. JAVA的内存模型及结构
  16. zoj Calculate the Function
  17. Python并发编程系列之常用概念剖析:并行 串行 并发 同步 异步 阻塞 非阻塞 进程 线程 协程
  18. 【线性基】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem A. XOR
  19. Latest SQLite binary for January 2015
  20. 说说$POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别

热门文章

  1. monkey 原理,环境搭建、命令详解
  2. http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html深入理解Java:SimpleDateFormat安全的时间格式化
  3. Mongodb 的劣势
  4. opencv 识别答题卡
  5. phpcms V9二级目录下分页路径不正确问题的彻底解决方法
  6. 【前端】CSS入门笔记
  7. 中 varStatus的属性简介
  8. [CF662C]Binary Table
  9. homebrew的安装与使用
  10. ansible playbook 使用