一 Jmeter 介绍
Jmeter由Apache公司开源的一个纯java压力测试工具,其应用范围非常广泛,一般我们用于高并发,分布式限流等数据量大的情况下,对接口进行压力测试;
jmeter的特点如下
- Jmeter 可移植性高,能够跨平台使用;
- Jmeter 可实现分布式负载。
- Jmeter 可实现多线程测试;
- Jmeter 高扩展性较高。
jmeter下载地址:
http://jmeter.apache.org/download_jmeter.cgi
运行环境要求 : JDK8
二 Jmeter运行模式介绍
下载完成后打开安装目录下的bin目录
常用的运行模式如下
- jmeter.bat:运行Jmeter 为GUI窗口;
- jmeterw.cmd:运行jmeter为GUI窗口,没有window shell 控制台输出;
所以启动的命令不同,出现的窗口数量也不同;一般情况下没必要开启windos控制台,输出的都是一些日志情况;
其它模式如下:
- jmeter-n.cmd: 放置JMX 文件运行CLI模式测试
- jmeter-n-r.cmd:放置JMX 文件运行CLI模式远程测试
- jmeter-t.cmd:放置JMX 文件在GUI模式加载
- jmeter-server.bat:开启server模式
- mirror-server.cmd:在CLI模式下运行JMeter Mirror Server
关闭模式如下
- shutdown.cmd:优雅关闭
- stoptest.cmd:粗暴关闭
双击 jmeterw.cmd 运行jmeter 界面如下
三语言选择
选中语言为中文简体
Jmeter菜单栏选择Optionsà-->Choose Languageà --> Chinese (Simplified)
选择中文简体后界面如下
四 Jmeter测试流程
jemter的元件如下
简单的测试流程如下
1.测试计划
2.线程组
3.HTTP Cookie管理器
4.Http请求默认值
5.Sampler(HTTP请求)
6.断言
7.监听器(查看结果树、图形结果、聚合报告等)
五 详细测试示例
5.1添加线程组
右键点击Test Plan->添加->线程(用户)->线程组
选择线程数量,和循环次数;知识追寻者这边选择值分别为 5和2,即一共发送10个请求;
5.2 添加HTTP Cookie管理器
右键线程组->添加->配置元件->HTTP Cookie管理器
HTTP Cookie管理器可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies
5.3HTTP请求默认值
右键线程组->添加->配置元件->HTTP请求默认值
主要是填写 IP 和端口号,默认前缀路径,后面的请求就不需要再次写入;
配置ip和端口号如图
5.4 添加HTTP请求
配置相关的ip,端口,路径等
5.5 添加断言
右键HTTP请求->添加->断言->响应断言
检查接口是否访问成功
5.6 添加监听器
1、查看结果树:打开察看结果树,绿色代表测试通过,红色代表测试失败。在此我们可以看到详细的请求头、响应时间、请求参数和返回结果;方便我们进行接口调试
2、查看图像结果:图像界面曲线分析;
3、查看聚合报告:
Label:每个 JMeter 的 请求都有一个 Name 属性,这里显示的就是 Name 属性的值
Samples:表示本次测试中一共发出了多少个请求
Average:平均响应时间
Median:也就是 50% 用户的响应时间
90%Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
5.7 运行结果
点击菜单栏的绿色 三角形按钮运行Jmeter
测试响应结果如图
聚合报告如下
因为请求模拟的线程数量太少,图像显示不佳,图像如下
5.7 正则表达式测试说明
以上进行的是单接口测试,当进行多个接口测试的时候可以使用正则表达式进行测试;
关注公众号:回复 拍拍知识追寻者,领取面试资料和原创PDF教程;