Jmeter - 生成Html报告
同步更新至个人博客:https://njlife.top/2019/07/12/Jmeter-生成Html报告/
Jmeter GUI提供的功能比较有限,比如要生成Html形式报告 - Jmeter Dashboard,则需要用命令行。通常情况下我们会用GUI进行配置和调试,然后通过命令行(非GUI模式)执行,同时命令行也方便与其他框架/应用进行集成,实现测试的自动化等。
Dashboard生成
Dashboard生成器是Jmeter的一个扩展模块,默认的行为就是读取CSV/JTL文件生成包含图表的html文件。该模块可以在测试执行结束后或者按需进行报告的生成。
用已有文件生成报告
如果已经执行过测试,并有jtl文件,那么可以直接基于该文件生成html报告。
# 生成jtl报告
jmeter -n -t xxx.jmx -l xxx.jtl
# -n: 以NON-GUI形式执行
# -t: jmx脚本文件路径
# -l: 目标jtl文件路径
jmeter -g xxx.jtl -o folder
# -g: 指定jtl路径
# -o: 输出的html存放文件夹路径(注意:文件夹要么为空,要么不存在)
无文件生成报告
如果没有生成jtl文件,可以使用下面命令:
jmeter -n -t xxx.jmx -l xxx.jtl -e -o folder
# -n:以NON-GUI形式运行Jmeter
# -t:jmx脚本路径
# -l:jtl运行结果保存路径(.jtl),此文件必须不存在
# -e:在脚本运行结束后生成html报告
# -o:用于存放html报告的目录
生成结果
Jmeter Dashboard详解
结果面板主要分为Dashboard和Charts两部分。Dashboard对信息进行汇总展示,Charts展示更多详细指标数据。
Dashboard
Test and Report information
测试报告信息,包含源文件,开始时间,结束时间等基本信息。
APDEX
Application Performance Index, 应用性能指数。
性能指数,Apdex(Application Performance Index) 是一个国际通用标准,Apdex 是用户对应用性能满意度
的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。
满意度结果被量化为一个 0 到 1之间的数值即 “Apdex 指数”,0 代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex 把这个数值与用户满意程度细化对应,如下图所示,对于应用性能的 Apdex 评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。
Requests Summary
请求概览信息,展示请求成功(OK)/失败(KO)占比。直观反应请求状况。
Statistics
每个事务的所有指标的摘要,包含三个中位数(可配置)。
Errors
所有错误的再要信息,以及其在请求中的比例。
Top 5 Errors by sampler
每个样例错误最多的钱5个。
Charts
用图表展示测试结果数据
Overtime
- Response Times Over Time
运行期间的响应时间变化趋势图。可以通过看测试期间的响应时间变化推断应用的性能拐点。
- Response Time Percentiles Over Time (successful responses)
成功请求响应时间百分比分布图。
- Active Threads Over Time
运行期间线程数量的变化,如果有多个线程组, 会根据线程组名字进行展示。
- Bytes Throughput Over Time
运行期间收发字节数变化,所有线程组会一起展示。
- Latenciew Over Time
运行期间响应延时变化。
- Connect Time Over Time
运行期间连接服务器时间变化。
Throughput
- Transactions Per Second
运行期间每秒事务数变化。
- Total Transactions Per Second
运行期间每秒总事务数变化。包含成功和失败的。
Response Times
- Response Time Percentiles
响应时间百分比分布图。
- Response Time Overview
响应时间概览。
- Time Vs Threads
平均响应时间与线程数对比。
终于完了。。。
上面只列举出了一些常用的结果指标,如果要看更多完整的指标类型,请参考官方文档:https://jmeter.apache.org/usermanual/generating-dashboard.html