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上的jp@gc - 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上的jp@gc - Hits per Second

2)Codes Per Second(每秒状态码数量)

3)Transactions Per Second(每秒事务数),即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标,类似于JMeter Plugins上的jp@gc - 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选项

是可以覆盖该配置的路径的;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章