一、脚本录制
1、右键[测试计划]-[添加]-[线程]-[线程组]。
2、右键[线程组]-[配置元件]-[HTTP默认请求]。
3、右键[线程组]-[添加]-[逻辑控制器]-[录制控制器]。
4、右键[测试计划]-[添加]-[非测试元件]-[HTTP测试脚本录制]。
5、右键[测试计划]-[添加]-[监听器]-[查看结果树]。
6、右键[测试计划]-[添加]-[监听器]-[聚合报告]。
7、在HTTP默认请求下,填写对应的IP、端口、请求URL。
8、在HTTP测试脚本录制下,填写代理服务器的端口。
Ø Target Controller 修改为: “Test Plan>Thread Group>Recording Controller”
Ø Grouping 修改为: “Put each group in a new controller”
9、设置完成后,可点击[启动],开始脚本录制。
10、配置浏览器代理(chrome为例)。
a、进入Chrome浏览器设置选项。
二、运行脚本
1、脚本录制完成后,可在[Recording Controller]菜单下看到录制好的脚本。删除不需要的脚本,保留进行压力测试的脚本。配置好[线程组]后,点击运行,即可开始压力测试。
注意:脚本录制完成后,如果没有必要,可以不用修改其他的参数。
2、动态设置参数
右键[Recording Controller]下的脚本文件,[Add]-[Config Element]-[CSV Data Set Config]。
Ø Filename:选择CSV文件
Ø File encoding:设置文件的编码格式,与文件的实际编码格式设置一致
Ø Variable Names:变量名称,设置csv文件中每列对应的字段名,多个字段间的分割符与Delimiter中设置的一致即可。如设置使用逗号(,)分隔,则csv文件和此处的变量名之间都同样使用逗号分割,便于区分
Ø Delimiter:设置多个变量之间的分割符
Ø Allow quote data:如果设置为true,则会取csv文件中的引号间的内容为变量值,容易对全角字符的处理出现乱码;如果设置为false,则csv文件中的值即为变量值
Ø Recycle on EOF:是否循环读入。CSV文件一次读取一行,设置为true,如果设置的线程数超过了文本的记录行数,则可以选择从头再次读取;设置为false,如果设置的线程数超过了文本的记录行数,则可能会报错。
Ø Stop on EOF:遇到EOF的情况时,如上述无数据可读取的情况,是否停止线程运行
Ø Sharing mode:本次导入的CSV文件的作用范围,可选:所有的线程、当前线程组中的线程、当前线程等 。
三、结果分析
Ø Sample:本次测试场景共运行了多少线程
Ø Average:平均响应时间
Ø Median:统计意义上的响应时间中值
Ø 90% Line:所有线程中90%的线程响应时间都小于xx的值
Ø Min:最小响应时间
Ø Maximum:最大响应时间
Ø Error:出错率
Ø Throughput:吞吐量。吞吐量以”requests/second、requests/minute、requests/hour”来衡量。
四、查看线程运行情况
1、[view Resuls Tree]中可查看每个线程的运行情况,包括请求和返回两部分。绿色的代表线程运行成功,红色的代表线程运行失败。
1)可在请求体中查看请求是否正确。
2)可在相应数据体中查看线程运行失败的原因,查看是否报错。
文章是自己在学习和应用JMeter的过程中总结的一些知识点,如果有表述不足的地方,或者大家有更多的补充,可以留言,或者分享一些好的相关的文章,一起进步!
如果觉得文章写的不错,记得给作者一些鼓励哦,动动小手指点个赞 吧!