Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做得比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。因为在做接口测试时可以设置线程组,所以也可做接口性能测试。
本篇使用JMeter完成了一个完整的Http接口性能测试流程,从脚本编写(工具化生成),执行到最终结果分析。
- 测试接口的 基本要求
接口地址 :我们选取最常见的百度搜索接口:https://www.baidu.com/s?ie=utf-8&&wd=新闻
ie:编码方式,默认为utf-8
wd: 搜索词
返回结果判断 (断言):
搜索结果,我们可以通过校验结果中是否含有搜索词wd来判断本次请求成功或失败。
- 操作
依次进行如下操作:1) 添加线程组 2)添加请求&http消息头管理器 3)添加结果监听器(察看结果树 )
4)添加用户自定义变量 *)添加定时器(集合点)
5)添加请求的断言 6)添加断言结果 7)添加聚合报告 8)执行
9)结果分析(分析测试报告)
- 添加线程组
添加虚拟用户组(Thread Group),这些虚拟用户用来模拟访问被测系统
一个线程组(Thread Group)等于一组虚拟用户(virtual users group),
一个Java线程 等于 一个用户
- 添加线程组 --菜单
- 添加线程组 --参数
2)添加请求、添加 http消息头管理器
2.1)添加请求
接下来的一步就是要加入实际被测页面,右击“线程组” > “添加” > “Sampler” > “HTTP请求”。
ps: 参数,用于get 或put请求;消息体数据用于post 请求; -----很重要,很容易出错!
- 添加请求
2.2)http消息头管理器
3)添加查看结果树
添加结果监听器(察看结果树 ), “监听器”让用户来观察测试结果
运行后点击左侧观察结果数,查看请求执行结果,红色为失败,绿色为成功,如下图:
4)添加用户自定义变量 &集合点
4)添加用户自定义变量 -菜单
用户自定义变量 -,需要在HTTP请求处,手动修改请求中为变量形式 ${wd}
*)添加集合点
如果线程数是6,按组分组的模拟用户数是3,超时时间是0,则:当加载完3个用户时,这3个用户开始并发操作;当另外3个用户加载完时,开始第2(6/3)组的并发; ---------------如果要做1000用户并发,则第一个参数为1000,第二个参数为0。========设置超时时间为0时,则要保证线程数是分组并发数的整数倍,否则剩余用户数就会一直等待状态;
5)添加请求的断言 6)添加断言结果
5)添加请求的断言 --菜单
5)添加请求的断言 – 校验返回的文本中是否包含搜索词,添加参数${wd}到要测试的模式中
- 断言结果查看,如上失败,可能是添加断言的“测试字段” 勾选错误导致
7)添加聚合报告
7)添加聚合报告–“线程组” -> “添加” -> “监听器” -> “聚合报告”,用以存放性能测试报告
8)执行
至此,就完成了一个完整Http接口的JMeter性能测试脚本编写,点击运行即可
查看运行日志, “选项” > “Log Viewer”看看运行的日志。如果你还是看不到日志,你可以点击下面所示的三角箭头展开或者收集日志视图
8)运行 (后面是清空执行结果)
9)结果分析(分析测试报告)
待性能测试执行完成后,打开聚合报告可以看到:
响应时间的单位是ms. 另外:KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
- 脚本查看
可以使用编辑器查看.jmx文件,如下图所示:
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!推荐软件测试交流学习群:914172719 里面会分享一些资深架构师录制的视频录像
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!