場景:自動化生成接口性能報告
jmeter官網(wǎng)效果:
http://jmeter.apache.org/usermanual/generating-dashboard.html
1:接口性能參數(shù)
2:具體項(xiàng)如響應(yīng)事件圖表弟头。
準(zhǔn)備工作:jmeter 3.0版本以上俱笛。
1.確認(rèn)基本配置
在jmeter.properties或者user.properties確認(rèn)如下配置項(xiàng):
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報告中展示更詳細(xì)數(shù)據(jù),需要確保如下配置
jmeter.save.saveservice.assertion_results_failure_message = true
如果使用了事務(wù)控制器(Transaction Controller)锌俱,確認(rèn)Generate parent sample為未勾選狀態(tài)
2.生成報告
a. 在壓力測試結(jié)束時報告
基本命令格式:
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文件,即可查看各種圖形化報告:
性能整體概要:
接口性能結(jié)果.png
性能圖形結(jié)果:
響應(yīng)時間分布.png
自定義報告:
不需要的模塊:可以在JMeter3.0在bin目錄新增了reportgenerator.properties
文件保存了所有關(guān)于圖形化HTML報告生成模塊的默認(rèn)配置敌呈,
要變更配置贸宏,建議不要直接編輯該文件造寝,而是推薦在
user.properties中去配置和覆蓋。
首頁配置:
總體配置都是以jmeter.reportgenerator.為前綴吭练,如:
jmeter.reportgenerator.overall_granularity=60000
overall_granularity:定義采樣點(diǎn)粒度诫龙,默認(rèn)為60000ms,
通常在穩(wěn)定性以外的測試中鲫咽,我們可能需要定義更細(xì)的粒度签赃,比如
1000ms,
我們可以在user.properties文件末尾添加如下配置:
# Change this parameter if you want to change the granularity of over time graphs.
jmeter.reportgenerator.overall_granularity=6000
report_title:定義報告的標(biāo)題分尸,我們可能需要將標(biāo)題定義為實(shí)際測試項(xiàng)名稱
apdex_satisfied_threshold:定義Apdex評估中滿意的閾值(單位ms)
apdex_tolerated_threshold: 定義Apdex評估中可容忍的閾值
Apdext = (Satisfied Count + Tolerating Count / 2) / Total Samples
在jmeter.properties中锦聊,有關(guān)于集合報告中的三個百分位的默認(rèn)值:
aggregate_rpt_pct1 : Defaults to 90
aggregate_rpt_pct2 : Defaults to 95
aggregate_rpt_pct3 : Defaults to 99
可以在user.properties中對其進(jìn)行覆蓋,
如:aggregate_rpt_pct1 = 70
自定義報告
JMeter的HTML報告生成時是使用了固定的模板箩绍,
模板文件路徑為./bin/report-template孔庭。
進(jìn)入該目錄可以看到報告的每個頁面都有一個.fmkr模板文件,
包括index.html.fmkr和./content/pages路徑下的幾個文件材蛛。
通過查看這些模板文件圆到,就可以知道怎樣去進(jìn)行報告的輕度定制,
比如將一些文本修改得更易懂卑吭,或者修改為中文等
頁面的title
默認(rèn)為"Apache JMeter Dashboard"
可以由reportgenerator.properties中的
jmeter.reportgenerator.report_title來統(tǒng)一定義芽淡,
這種方式就是所有頁面的title都使用同一個。
也可以直接修改對應(yīng)的.fmkr文件中的title標(biāo)簽中雙引號內(nèi)的值陨簇,如
<title>${reportTitle!"想要設(shè)置的title"}</title>吐绵,這中方式可以為每個
頁面單獨(dú)定義title
圖表的名稱
當(dāng)前版本下,各圖表的名稱是直接在模板文件中定義河绽,
要修改也是直接修改模板文件中對應(yīng)元素的值即可
如要修改Transactions Per Second圖表的名稱己单,可以直接
在./content/pages/Throughput.html.fmkr文件中修改,效果如下圖
image.png