Jmeter 简介
Jmeter是由Apache公司开发的一个纯Java开源项目,即可以用于做接口测试也可以用于做性能测试,具备高移植性和扩展性,可以实现跨平台运行,可以实现分布式负载。
采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。
使用 Jmeter 一般用于以下两种类型的性能测试(基本能覆盖绝大多数的性能测试需求)
负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。
压力测试:测试系统能承受的最大负载能力。目的在于发挖掘出目标服务系统可以处理的最大负载。
下载软件包,Windows 版 下面是我的百度网盘链接地址
链接:https://pan.baidu.com/s/1pn0xJlaQt0eJN6daOj5Gew
提取码:6666
下载完后 在bin目录下双击jmeter.bat
新增线程组
创建测试线程组,并设置线程数量及线程初始化启动方式。
这个地方可以选择语言
设置线程组参数
在线程组中添加请求,并配置多用户
1、新建 登录 http请求
2、新增请求头,并配置请求头
3、配置压测账号路径,在压测多用户之前 先把压测账号都准备好。
如下是我的压测账号格式
4、配置完后,我们再添加一个 正则 提取器,用来提取返回的token
5、配置后置处理程序 ,用来拿到上述中的token配置到后续接口中
记住这个点的${__setProperty(token,${token},ture)},在下面的接口将会用的到
6、添加接口监听器
配置接口的情况的输出地址
7、配置接口请求的总体请求情况 注:6和7点可以都加 也可以只加其中一点
8、配置完后,我们再回到登录接口,其中红箭头标出来的对应的是CVS里面的 username,和password
检查登录地址和接口以及入参有没有问题,检查完毕 我们可以点击启动一下。
上面中我把线程组的线程改成了5,通过结果树可以看到每个接口的响应情况都成功登录了,并且返回了token
二 、多用户请求接口测试
通过上述我们根据不同用户登录拿到了不同的token,然后我们接下来用这些用户对接口进行压测,下面我利用
1、新建一个http请求 ,配置好入参,这个入参是固定的,大家都是一样的
2、新建一个http请求头
其中的 ${__property(token)} 就是与上述第五点后置处理器相关联的,
如果后面还有新的http接口,那就可以直接套用,全局通用的
添加完后,直接启动测试
从上述图中可以看到都是不同用户请求的,并且请求成功
三、生成汇总报告
1、在线程组下添加一个汇总报告
汇总报告中包含了所有请求接口的详情,配置好汇总报告的生成路径。
如果没有找到.jtl文件,那就自己创建一个
2、生成html报告
其中user.properties 就是bin目录下的
注:输出目录一定要为空文件夹
生成后找到对应目录,即可查看文件
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c97b6603ad4147d69d379829ae641dce.png
1)Response Times Over Time(响应时间变化曲线),类似于JMeter Plugins上的jp@gc - Response Times Over Time
Response Times Over Time,即响应时间随时间变化趋势。由于应用需要初始化建立连接以及CPU、内存等分配都会消耗资源,随着系统趋于稳定,响应时间也会趋于稳定。
2)Response Time Percentiles Over Time (successful responses) (成功响应时间百分比),类似于jmeter聚合报告中的Min、Max、90%、95%、99%
3)Active Threads Over Time(活动线程时间变化曲线图),随着时间变化,每个时间节点上的活动线程数
活跃线程变化趋势,即并发用户数趋势。相当于我们模拟的并发用户发出请求随着时间变化的趋势。
Response Time Distribution(响应时间分布)