有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的。这篇博客,简单介绍下在利用jmeter进行性能测试时,是如何生成HTML的可视化测试报告的
一、准备工作
1:jmeter3.0版本之后开始支持动态生成测试报表,我用的是jmeter4.0
2:jdk版本1.7以上
3:需要jmx脚本文件
二、基本操作步骤
首先执行cmd命令:进入jmeter的安装目录bin目录里面
输入命令:jmeter -n -t jmx测试脚本文件存放目录 -l result.jtl -e -o 测试报告的存放文件夹路径
举个栗子:jmeter -n -t F:\20190722后文件\接口脚本\111.jmx -l result.jtl -e -o F:\20190722后文件\接口脚本\测试报告
参数说明:
● -n: 非GUI模式执行JMeter
● -t: 执行测试文件所在的位置
● -l: 指定生成测试结果的保存文件,jtl文件格式
● -e: 测试结束后,生成测试报告
● -o: 指定测试报告的存放位置
说明:
输入命令回车即可。每次启动命令之前,测试报告存放文件夹必须清空、 jtl 文件也要删除。
执行之后可看到测试报告文件夹内生成了这些内容
点击index.html文件查看即可
三、报告上图表信息详解
测试报告分为两部分,Dashboard和Charts,下面分开解析。
1、Dashboard(概览仪表盘)
①、Test and Report informations
- File:测试结果的保存文件名称
- Start Time:测试开始时间
- End Time:测试结束时间
- Filter for display展示过滤器
②、APDEX (应用性能指标)
Application Performance Index,应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意,越接近1满意度越高
关于APDEX的相关信息,请参考这里:应用性能指标;英文原文,参考这里:Apdex-Wikipedia
③、Requests Summary
请求的通过率(OK)与失败率(KO),百分比显示
④、Statistics
数据分析,基本将Summary Report和Aggrerate Report的结果合并
⑤、Errors
错误情况,依据不同的错误类型,将所有错误结果展示
2、Charts
用图表的形式展示测试数据,让测试报告更加直观,主要有如下特点:
- 将测试过程中经常使用的数据,用图表的形式展示,让测试结果更加直观
- 每个图表数据,有两种展示形式
- 支持请求样例过滤显示
- 支持导出PNG图片格式
Over time
①、Response Times Over Time(脚本运行期间的响应时间变化趋势图)
说明:每秒钟响应时间,X轴表示的是系统运行的时刻,Y轴表示的是响应时间,F(X,Y)表示系统随着时间的推移,系统的响应时间的变化,可以看出响应时间稳定性。
运行期间的响应时间变化趋势图。可以通过看测试期间的响应时间变化推断应用的性能拐点。
②、 Response Time Percentiles Over Time (successful responses)
说明:脚本运行期间成功的请求响应时间百分比分布图,可以理解为聚合报告里面不同%的数据,图形化展示的结果
③、Active Threads Over Time
说明:运行期间线程数量的变化,如果有多个线程组, 会根据线程组名字进行展示。
④、Bytes Throughput Over Time(脚本运行期间的吞吐量变化趋势图)
说明:在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标。
⑤、Latencies Over Time(脚本运行期间的响应延时变化趋势图)
说明:在高并发场景或者强业务强数据一致性场景,延时是个很严重的影响因素。
⑥、Connect Time Over Time(运行期间连接服务器时间变化。)
Throughput
①、Transactions Per Second(每秒事务数)
说明:每秒事务数,即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标。
Response Times
①、 Response Time Percentiles(响应时间百分比分布曲线图)
说明:即响应时间在某个范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。
四、清空jtl文件和测试报告存放路径
之前考虑过每次执行命令都要先去目录下清空报告文件夹和jtl,还要敲命令,很烦,后来想了一个方法,那就是写一个bat,每次执行bat都自动去清空之前的报告,然后执行命令
命令如下:
del /s /Q D:\软件\apache-jmeter-4.0\bin\result.jtl 删除result.jtl文件
rd /s /Q D:\软件\apache-jmeter-4.0\bin\HttpReport 删除HttpReport文件夹
md D:\软件\apache-jmeter-4.0\bin\HttpReport 重建HttpReport文件夹
博文参考:
http://www.51testing.com/html/80/n-3724580.html
https://www.cnblogs.com/imyalost/p/10239317.html