一. Jmeter主要元件
1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器
2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
4、前置处理器:负责在请求之前工作,常用来修改请求的设置
5、定时器:负责定义请求之间的延迟间隔。
6、取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。
7、后置处理器:负责在请求之后工作,常用获取返回的值。
8、断言:用来判断请求响应的结果是否如用户所期望的。
9、监听器:负责收集测试结果,同时确定结果显示的方式。
10、逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
二 新建一个线程组
(1)线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
(2)Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
(3)循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”,
那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
这里我们设置30个线程(不要加太多,这里只是为了演示), 启动时间设置为3s,循环次数为3次
三、新建一个HTTP请求
四、添加HTTP信息头(请求头)
五、添加合适的响应断言
添加json断言
使用$.reason获取reason的值。预期结果reason的值为Return Successd!
点击运行查看结果树 ,运行成功。json断言只适合返回类型为json的数据
六、添加监听器
JMeter有许多UI Listener,可用于直接在JMeter UI中查看结果:
- 以树形式查看结果:查看结果树显示所有样本响应的树,允许您查看任何样本的响应。
- 图形结果:图形结果监听器生成一个简单的图形,绘制所有采样时间,
- 聚合报告:聚合报告为测试中的每个不同命名的请求创建一个表行,
- 在表中查看结果:此可视化工具为每个样本结果创建一行。与查看结果树一样,此可视化工具使用大量内存,
- 聚合图:聚合图与聚合报告类似。主要区别在于聚合图提供了一种生成条形图并将图形保存为PNG文件的简便方法,
- 生成摘要结果:此测试元素可以放在测试计划中的任何位置。生成到目前为止测试运行的摘要到日志文件和/或标准输出。显示运行和差异总计。
选择合适的结果呈现方式,这里我加了查看结果树、汇总报告和图形结果
七、点击运行
八、Jmeter结果分析
在运行实际负载测试时我们可以使用哪些监听器
简单数据写入器
简单数据写入器:可以将监听器配置为将不同的项目保存到结果日志文件(JTL)。
这是JMeter中最有用的监听器。它根据外部文件中的配置保存性能指标:JTL文件。JMeter JTL文件是分析结果的最佳方式,但有一个缺点:您需要另一个工具来执行数据挖掘。
一般我们采取以下两种方案
简单数据写入器+excel
简单数据写入器+HTML报告DashBoard
这里推荐使用HTML报告DashBoard,这也是官方支持的方式
简单数据写入器+HTML报告DashBoard案例演示
- 这里我加大测试压力,将线程数改为1000,循环30次
2、新增一个简单数据写入器
修改输出路径到合适的目录下,同时保存的文件以jtl结尾
3、运行生成文件
点击运行图标,运行完成后在对应目录下你应该能找到这个jtl文件
4、 生成HTML报表
点击工具->Generate HTML report
- 在result files 一栏,我们选择之前导出的jtl文件。
- 在用户配置文件一栏我们可以选择bin目录下有的user.properties文件,也可以根据官网用户手册去配置一个。这里我们选择bin目录下的文件即可。
- 输出目录我们选择一个合适的空目录即可。
点击generate report 即可生成报告
点击index.html即可看到测试结果
成功率
TPS
响应时间
————————————————
版权声明:本文为CSDN博主「Dreamchaser追梦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_46101869/article/details/122134619