场景:自动化生成接口性能报告
jmeter官网效果:
http://jmeter.apache.org/usermanual/generating-dashboard.html
1:接口性能参数
2:具体项如响应事件图表。
准备工作:jmeter 3.0版本以上。
1.确认基本配置
在jmeter.properties或者user.properties确认如下配置项:
jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss
如果希望在Errors报告中展示更详细数据,需要确保如下配置
jmeter.save.saveservice.assertion_results_failure_message = true
如果使用了事务控制器(Transaction Controller),确认Generate parent sample为未勾选状态
2.生成报告
a. 在压力测试结束时报告
基本命令格式:
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
样例:
jmeter -n -t F:\PerformanceTest\TestCase\script\getToken.jmx -l testLogFile -e -o ./output
b. 使用已有的压力测试CSV日志文件生成报告
基本命令格式:
jmeter -g <log file> -o <Path to output folder>
样例:
jmeter -g D:\apache-jmeter-3.0\bin\testLogFile -o ./output
用浏览器打开index.html文件,即可查看各种图形化报告:
性能整体概要:
性能图形结果:
自定义报告:
不需要的模块:可以在JMeter3.0在bin目录新增了reportgenerator.properties
文件保存了所有关于图形化HTML报告生成模块的默认配置,
要变更配置,建议不要直接编辑该文件,而是推荐在
user.properties中去配置和覆盖。
首页配置:
总体配置都是以jmeter.reportgenerator.为前缀,如:
jmeter.reportgenerator.overall_granularity=60000
overall_granularity:定义采样点粒度,默认为60000ms,
通常在稳定性以外的测试中,我们可能需要定义更细的粒度,比如
1000ms,
我们可以在user.properties文件末尾添加如下配置:
# Change this parameter if you want to change the granularity of over time graphs.
jmeter.reportgenerator.overall_granularity=6000
report_title:定义报告的标题,我们可能需要将标题定义为实际测试项名称
apdex_satisfied_threshold:定义Apdex评估中满意的阈值(单位ms)
apdex_tolerated_threshold: 定义Apdex评估中可容忍的阈值
Apdext = (Satisfied Count + Tolerating Count / 2) / Total Samples
在jmeter.properties中,有关于集合报告中的三个百分位的默认值:
aggregate_rpt_pct1 : Defaults to 90
aggregate_rpt_pct2 : Defaults to 95
aggregate_rpt_pct3 : Defaults to 99
可以在user.properties中对其进行覆盖,
如:aggregate_rpt_pct1 = 70
自定义报告
JMeter的HTML报告生成时是使用了固定的模板,
模板文件路径为./bin/report-template。
进入该目录可以看到报告的每个页面都有一个.fmkr模板文件,
包括index.html.fmkr和./content/pages路径下的几个文件。
通过查看这些模板文件,就可以知道怎样去进行报告的轻度定制,
比如将一些文本修改得更易懂,或者修改为中文等
页面的title
默认为"Apache JMeter Dashboard"
可以由reportgenerator.properties中的
jmeter.reportgenerator.report_title来统一定义,
这种方式就是所有页面的title都使用同一个。
也可以直接修改对应的.fmkr文件中的title标签中双引号内的值,如
<title>${reportTitle!"想要设置的title"}</title>,这中方式可以为每个
页面单独定义title
图表的名称
当前版本下,各图表的名称是直接在模板文件中定义,
要修改也是直接修改模板文件中对应元素的值即可
如要修改Transactions Per Second图表的名称,可以直接
在./content/pages/Throughput.html.fmkr文件中修改,效果如下图