JMeter提供了一个用于生成HTML页面图形化报告的扩展模块。该模块支持通过两种方式生成多维度图形化测试报告。
.jtl
结果文件,.csv
结果文件,来生成该次测试结果的HTML图形化报告。自动生成HTML图形化报告的命令如下:
jmeter -n -t 【Jmx脚本位置】-l 【结果文件result.jtl存放的位置】-e -o 【生成HTML报告指定文件夹】
参数解释:
-n
:表示non gui mode
,就是非图形化模式。-t
:指定JMX脚本路径,即test plan
(测试计划)。后面跟需要运行的JMeter 脚本的路径和脚本名称。-l
:指定结果文件路径。后面跟输出结果文件路径和结果文件名称。.csv
文件或者.jtl
文件。-e
:设置测试完成后生成测试报表。-o
:指定测试报表生成文件夹。文件夹必须为空或不存在。在CMD中进行到%JMeter_Home%\bin
位置,执行命令如下:
jmeter -n -t CLI_test.jmx -l C:\Users\L\Desktop\cli\result.jtl -e -o C:\Users\L\Desktop\cli\tableresult
如下图所示:
注意点:
result.jtl
结果文件的输入位置,要和HTML报告文件夹的输入位置再同一个目录中。- 确认目标目录下没有结果文件。
- 确认
-o
参数后面指定的文件夹,一定是不存在的或者是空文件夹。
然后去目标目录中查看HTML图形化报告文件夹中的内容。
打开index.html
文件,如下图所示:
使用命令:jmeter -g
参数说明:
-g
:指定已存在的测试结果文件路径,仅用于生成测试报表。-o
:指定测试报表生成文件夹,文件夹必须为空或不存在。在CMD中进入到测试结果文件的所在目录,执行命令如下:
jmeter -g result.jtl -o C:\Users\L\Desktop\cunliu\output
之后就可以到指定的目录中查看生成的HTML报告了。
推荐配置JMeter的环境变量,这让就可以在任何目录中执行JMeter命令了。
1)Test and Report informations
:指的是测试和报告信息。
File
:测试结果的保存文件名称。Start Time
:测试开始时间。End Time
:测试结束时间。Filter for display
:展示过滤器。2)APDEX(Application Performance Index)
:应用程序性能满意度的标准。其中:
Apdex
范围在0-1之间,1表示达到所有用户均满意,越接近1满意度越高。toleration threshold
:耐受阈值。frustration threshold
:挫败阈值。Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
3)Requests Summary
:请求的通过率(OK)与失败率(KO),百分比显示。
4)Statistics
:数据分析,基本将Summary Report
(汇总报告)和Aggrerate Report
(聚合报告)的结果合并。
5)Errors
:错误情况,依据不同的错误类型,将所有错误结果展示。
6)Top 5 Errors by sampler
:显示前5个错误的取样器。
Charts
页面:用图表的形式展示测试数据,让测试报告更加直观。
主要有如下特点:
Over Time for Charts页面:
1)Response Times Over Time
图表
每秒钟响应时间,X轴表示的是系统运行的时刻,Y轴表示的是响应时间,F(X,Y)表示系统随着时间的推移,系统的响应时间的变化,可以看出响应时间稳定性。
说明:响应时间变化曲线,展示平均响应时间随时间变化情况,类似于
JMeter Plugins
在UI上的Response Times Over Time
。
2)Bytes Throughput Over Time
图表
字节接收与发送的数量,每秒传输字节吞吐量,表明JMeter在测试时,随着时间推移发送和接收的字节数。
如下图所示:
说明:数据吞吐量时间曲线,展示每秒数据吞吐量随时间变化的情况,类似于
JMeter Plugins
在UI上的Bytes Throughput Over Time
。
3)Latencies Over Time
图表
延迟时间变化曲线:展示Latency time
随时间变化的情况,类似于JMeter Plugins
在UI上的Response Latencies Over Time
。
如下图所示:
4)Response Time Percentiles Over Time (successful responses)
图表
脚本运行时间内成功响应的请求,即:响应时间的百分位分布图。
如下图所示:
5)Active Threads Over Time
图表
脚本运行时间内的活动线程数变化曲线,展示测试过程中活动线程数随时间变化情况。
如下图所示:
6)Connect Time Over Time
图表
脚本运行时间内平均连接时间。
即:随时间变化,每个时间节点花费在连接上的平均时间。
如下图所示:
Throughput for Charts页面:
1)HitsPer Second (excluding embedded resources)
图表
每秒点击次数曲线图,即:每秒钟向服务器发送的请求数量。
如下图所示:
2)CodesPer Second (excluding embedded resources)
图表
每秒状态码数量分布曲线,即:每秒钟服务器返回的ResponseCode
数量。
如下图所示:
2)Response Time Overview
图表
响应时间概述柱状图,即:响应时间分布。
如下图所示:
3)Time Vs Threads
图表
活动线程与平均响应时间变化曲线图,即:多个活动线程情况下的平均响应时间。
X轴表示的是活动线程数,也就是并发访问的用户数,Y轴表示的是响应时间,F(X,Y)表示在某种并发量的情况下,系统的响应时间是多少。
如下图所示:
4)Response Time Distribution
图表
响应时间分布图,即:在某一响应时间段内的线程响应数量。
如下图所示:
使用JMeter进行测试的时候,我们可以收集每个请求中的信息,并保存到结果文件中,如:.jtl
文件或.cvs
文件中。
如下图所示:
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834