jmeter中使用命令自动生成html测试报告、测试报告分析及配置测试报告
一、jmeter中使用命令生成测试报告
JMeter虽不像Loadrunner那样,提供了强大的图表分析功能,但是jmeter(必须是jmeter3.0以上版本)中同样提供了自动生成html测试报告的方法,使用如下命令:
命令:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n ---- 非GUI模式执行JMeter
-t ---- 测试计划保存的路径及文件名
[jmx file] ---- 测试计划保存的路径及.jmx文件名,路径可以是相对路径也可以是绝对路径,它依赖于DOS中当前目录,如果DOS中当前目录在C盘AA目录下,测试计划.jmx文件保存在E盘BB目录下,那么应该写绝对路径:E:\BB\xx.jmx;如果DOS中当前目录在E盘AA目录下
-l ---- 保存生成测试结果的文件
[results file] ---- 保存生成测试结果的文件,jtl文件格式
-e ---- 测试结束后,生成测试报告
-o ---- 存放生成测试报告的路径
[Path to web report folder] ---- 存放生成测试报告的路径,它可以是相对路径也可以是绝对路径,也是依赖于DOS中当前目录,如果需要保存到DOS中当前目录中,那么就直接写相对路径;如果不保存在DOS中当前目录中,那么就必须绝对路径。如:DOS中当前目录在C盘AA目录下,而测试报告要放在 E盘report目录下,那么应该写绝对路径:E:\report,那么测试报告就会保存在E:\report目录***意:report是一个自定义的目录,原先在F盘中是没有report这个目录的,使用命令时相当于同时自动在F盘下自动新建了一个report目录
举例说明:
DOS当前目录是:E:\ 注意:DOS当前的目录必须是jmeter.log所在的目录或jmeter.log所在盘的根目录下,否则会提示无法打开jmeter.log文件。如果启动jmeter是用DOS命令启动的,那么jmeter运行时的日志文件是保存在DOS命令启动时的当前目录下,所以在生成测试报告时,必须用启动时的当前目录;如果用jmeter.bat启动时,那么生成测试报告的当前目录可以是jmeter.log所在盘的根目录下或jmeter.log所在的目录下;
[jmx file]目录在:F:\member.jmx
定义[results file]为:E:\results.jtl
定义[Path to web report folder]为: E:\report
使用命令:jmeter -n -t E:\member.jmx -l results.jtl -e -o E:\report
注意:report、results.jtl 原先都是不存在的,如果在使用命令时,report、results.jtl已存在,那么必须用先删除,否则在运行命令时就会报错。
可以在DOS中使用命令来删除
删除整个目录:rd /s /q [盘符:][路径名][子目录名]
/s ---- 表示删除该目录下所有遍历的子目录和文件
/q ---- 表示删除目录时不提示确认,直接删除
删除文件:del /q [盘符:][文件名]
可以写一个bat批处理命令,就不需要每次都输入命令了。
在DOS窗口,看到end of run 就表示已经生成测试报告了,到E盘中查看report目录,可以看到下图中4个文件
二、测试报告分析
打开index.html,就可以看到页面左侧有下图中三个目录
1、Dashboard
(1)Test and Report informations(测试和报告信息)
Source file ---- 生成报告的源文件
Start Time ---- 开始时间
End Time ---- 结束时间
(2)APDEX (应用性能指标),计算每笔交易APDEX的容忍和满足阈值基于可配置的值,范围在 0-1 之间,1表示达到所有用户均满意
T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
(3)Requests Summary(请求总结),成功与失败的请求占比,KO指失败率,OK指成功率
(4)statistics(数据分析),类似于jmeter聚合报告
Lable --- 请求名称
Samples ---- 请求数目
KO ----- 失败请求数目
Error% ---- 错误率(测试中出现错误的请求的数量/请求的总数)
Average ---- 响应时间平均值
Min ---- 最小响应时间
Max ---- 最大响应时间
90th pct ----- 90%用户响应时间
95th pct ---- 95%用户响应时间
99th pct ----- 99%用户响应时间
Throughput ---- 吞吐量
Received ---- 每秒从服务器端接收到的数据量
Sent ---- 每秒从服务器发出的数据量
(5)Errors(错误情况)
(6)Top 5 Errors by sampler(采样器的5大错误)
2、第二个目录Chart(图表),它包括Over Time(时间变化) 、Throughput(吞吐量) 、Response Times(响应时间)
(1)Over Time 中又包括下图中所示
1)Response Times Over Time(响应时间变化曲线),类似于JMeter Plugins上的[email protected] - Response Times Over Time
2)Response Time Percentiles Over Time (successful responses) (成功响应时间百分比),类似于jmeter聚合报告中的Min、Max、90%、95%、99%
3)Active Threads Over Time(活动线程时间变化曲线图),随着时间变化,每个时间节点上的活动线程数
4)Bytes Throughput Over Time(字节吞吐量时间变化曲线图),蓝色为每秒发送字节数,黄色为每秒接收字节数
5)Latencies Over Time(延迟时间曲线图),记录的是客户端发送请求完成后,服务器端返回请求之前的这段时间,在高并发场景或者业务强数据一致性场景,延时是个很严重的影响因素
6)Connect Time Over Time(连接时间变化曲线图),随着时间变化,每个时间节点花费在连接上的平均时间
(2)Throughput(吞吐量)包括如下图所示
1)Hits Per Second(每秒点击率),类似于JMeter Plugins上的[email protected] - Hits per Second
2)Codes Per Second(每秒状态码数量)
3)Transactions Per Second(每秒事务数),即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标,类似于JMeter Plugins上的[email protected] - Transactions per Second
4)Total Transactions Per Second(每秒总事务数)
5)Response Time Vs Request(响应时间点请求的成功或失败数)
6)Latency Vs Request(延迟时间点请求的成功或失败数)
(3)Response Times(响应时间)包括如下图所示
1)Response Time Percentiles(响应时间百分比)
2)Response Time Overview(响应时间概述)
3)Time Vs Threads(平均响应时间和线程数的对应变化曲线)
4)Response Time Distribution(响应时间分布)
三、配置测试报告
JMeter3.0在bin目录新增了reportgenerator.properties文件保存了所有关于图形化HTML报告生成模块的默认配置,要变
更配置,建议不要直接编辑该文件,而是推荐在user.properties中去配置和覆盖。
1、user.properties中配置,基本配置都是以jmeter.reportgenerator.为前缀的
(1)定义采样点粒度(overall_granularity)
user.properties中overall_granularity(采样点粒度)默认为60000ms,如下图
通过我们测试过程中,需要更小的粒度,如2秒,所以在上图中将60000修改为2000,也可以在文档末性加上jmeter.reportgenerator.overall_granularity=2000;
注意:基本配置都是以jmeter.reportgenerator.为前缀的
(2)定义报告的标题(report_title)
(3)定义Apdex评估中满意的阈值(单位ms)(apdex_satisfied_threshold)
(4)定义Apdex评估中可容忍的阈值(apdex_tolerated_threshold)
(5)修改响应时间的百分比
jmeter.properties中,有三个默认的响应时间的百分比:
如果需要修改这三个默认值,可以在user.properties文档末尾加上这三个字段名称,并重新赋值
2、修改图表或html报告的页面标题
JMeter的HTML报告生成时是使用了固定的模板,模板文件路径为./bin/report-template,进入该目录可以看到报告的每个
页面都有一个.fmkr模板文件,包括index.html.fmkr和./content/pages路径下的几个文件,可以利用这几个文件,修改对应的
名称。
html报告的页面标题默认为Apache JMeter Dashboard,如下图所示
如果想改为这个页面标题,可以通过user.properties中的jmeter.reportgenerator.report_title来修改,通过这种方式来修改,那改变的是所有的页面标题;
如果通过修改.fmkr文件中的title标签的双引号内的值,<title>${reportTitle!"想要设置的title"}</title>,那么修改的单独页面的标题;
图表的名称,可以在下面路径中进行修改
如修改响应时间,打开ResponseTimes.html.fmkr,修改title标签的双引号内的值
3、配置html测试报告的默认存放路径(jmeter.reportgenerator.exporter.property.output_dir ),注意:使用命令时,-o选项
是可以覆盖该配置的路径的;
————————————————
版权声明:本文为****博主「馨若梦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/qq_24394093/article/details/90732577