执行结果查看:
在GUI界面创建一个聚合报告
聚合报告界面点击浏览,选中生成的.jtl文件,打开
GUI界面打开聚合报告
执行过程中查看
summary = 1 in 00:00:01 = 0.8/s Avg: 1178 Min: 1178 Max: 1178 Err: 0 (0.00%) |
jtl文件转化成html格式查看
通过xslt工具转化成html格式(保存格式必须为xml格式)
Jmeter常用控件
图形结果
控件截图:
参数含义:样本数目:总共发送到服务器的请求数。最新样本:代表时间的数字,是服务器响应最后一个请求的时间。吞吐量:服务器每分钟处理的请求数。平均值:总运行时间除以发送到服务器的请求数。中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。注意事项:图形结果本身会影响Jmeter的性能
查看结果树
应用:可用于调试,查看请求响应的数据,测试的结果,请求的内容。控件截图:
参数含义:取样器结果实例:
请求实例截图:
响应数据实例截图:
聚合报告
理解:控件截图:
参数含义:Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
响应断言:
理解:判断Reponse是否正确实例截图:
正则表达式提取器
理解:当一个Sampler的Reponse中包含我们需要的参数的时候,我们可以通过该控件将参数提取出来
实例截图:
参数含义:引用名称:将提取的参数转化为变量,该字段定义变量名称正则表达式:匹配的正则,测试可用搜索引擎搜索在线正则验证测试结果
HTTP请求
理解:就是一次HTTP请求实例截图:
Test Action
理解:请求的执行动作,可放在Sampler后定义,即执行某一个请求后暂停等操作控件截图:
Sampler
理解:请求,设置不同的request控件截图:
常用控件:
后置处理器(Post Processors)
理解:请求执行后的处理,与前置处理器相反控件截图:
常用控件:
断言(Assertions)
理解:判断请求响应值的正确性的控件控件截图:
常用控件: 注意事项:断言要放在请求内
监听器(Listener)
理解:查看请求执行结果的控件控件截图:
常用控件:
Simpler Timeout:
理解:设置simple的最大响应时间,与直接在Sampler中设置的区别就是,作用域不同控件截图:
Bean Shell PreProcessor
理解:Bean Shell编程设置实例截图:
前置处理器(Per Processors)
理解:sampler请求前执行的操作,可以是获取测试数据,修改参数等控件截图:
常用控件:
高斯随机定时器
理解:与固定定时器差不多,只不过时间范围可以设置一个指定范围随机。实例截图:
Synchronizing Timer
理解:LR中的集合点,也就是说,sampler到这里会暂停,达到指定线程数后并发实例截图:
配置参数:Number of Simulated Users to Group by:线程数量设置
Timeout in milliseconds:响应时间设置,单位毫秒注意事项:集合点需要设置在Sampler前,否则不会生效
Constant Throughput Timer
理解:设置目标吞吐量,限定QPS的控件实例截图:
配置选项:Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的20 QPS ,这里的值应该是1200 。Calculate Throughput based on :有5个选项,分别是:
This thread only :控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以矣线程的数量。
All active threads : 设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
All active threads in current thread group :设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。
All active threads (shared ):与All active threads 的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。
All cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。注意事项:Constant Throughput Timer只有在线程组中的线程产生足够多的request 的情况下才有意义,因此,即使设置了Constant Throughput Timer的值,也可能由于线程组中的线程数量不够,或是定时器设置不合理等原因导致总体的QPS不能达到预期目标。
固定定时器
理解:请求间隔时间实例截图:
注意事项:需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。
对于一个sampler来说,定时器相当于loadrunner中的pacing(理解就是一组请求操作的等待时间);对于"事务控制器"来说,定时器相当于loadrunner中的think time(单次操作的等待时间或间隔时间)
理解:为测试提供数据支持的控件
控件截图:
常用控件: