目錄
2. JMeterPluginCMD命令行工具生成png圖片和csv統計文件
一、下載插件
系統管理- 管理插件- 可選插件
下載所需的插件,例如:Performance plugin、HTML Publisher plugin、Ant Plugin 等
1) 配置中 添加 Jmeter插件:Performance plugin、HTML Publisher plugin
功能:用來展示jmeter執行結果
二、構建
注意: ant方式,文件中必須創建的build.xml文件,自動加載build.xml文件
1.ant 執行方式一
a. 配置構建任務
b.查看報告,報告的位置,在build.xml文件中定義了,這個生成的默認樣式報告,可以更改報告樣式
2. ant 執行方式二
創建antShell.ant文件,添加下面的命令,直接執行文件可是可以的
echo "-----Test Begin-----"
ant -buildfile D:\Jmeter\build.xml(自己的build.xml文件路徑)
三、Jenkins上添加HTML報告
注意:這一步可有可無,看自己的需求,ps:樓主自己沒有用過,報告一般都是給領導看的,在這看不太方便
點擊保存之後,繼續配置測試報告
如果沒有安裝推薦的插件在這裏需要下載一個插件Public HTML reports
系統管理----》管理插件----》可選插件 輸入Public HTML reports 進行查詢並進行安裝
接下來繼續配置報告
點擊增加構建後操作步驟 並點擊Public HTML reports
並點擊保存按鈕 好了 現在我們報告也配置好了
現在進行jenkins構建下吧
好了到了這一步 已經構建成功了,Success !
我們在jenkins下面看下報告
四、報告中增加Throughout等列
ant 執行方式一,生成的報告數據太少了,下面咱們增加,幾列
1、修改模板文件 jmeter-results-detail-report_21.xsl,在D:\apache-jmeter-3.0\extras目錄下面
參考:https://blog.51cto.com/11581141/1970134
五、把xx.jtl 結果數據生成TPS 等圖表
ant 執行方式一,運行結果只有報告數據,類似聚合報告,沒有TPS 、TransactionsPerSecond 等圖標,下面增加TPS 、TransactionsPerSecond圖表
1. 下載插件
下載插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows機器的jmeter的jmeter/lib/ext目錄下,插件可以去官網下載
2. JMeterPluginCMD命令行工具生成png圖片和csv統計文件
生成png圖片:
java -jar D:\ProgramFiles\jmeter\lib\cmdrunner-2.2.jar --tool Reporter --generate-png D:\ProgramFiles\jmeter\bin\TransactionsPerSecond.png --input-jtl D:\ProgramFiles\jmeter\bin\result.jtl --plugin-type TransactionsPerSecond --width 800 --height 600
生成csv圖片
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ThreadsStateOverTime.csv --input-jtl 1.jtl --plugin-type ThreadsStateOverTime
示例:
當然也可以一次性生成兩個文件。下面是改命令的參數:
- –generate-png 指定png圖片文件
- –generate-csv 指定csv文件名
- –input-jtl 指定要解析的jtl文件
- –plugin-type 指定要輸出的數據類型,比如響應時間、cpu使用率、錯誤率等
插件提供解析下面這些數據的對象:
- AggregateReport = JMeter’s native Aggregate Report, can be saved only as CSV 聚合報告
- SynthesisReport = mix between JMeter’s native Summary Report and Aggregate Report, can be saved only as CSV
- ThreadsStateOverTime = Active Threads Over Time 線程數隨時間的變化曲線
- BytesThroughputOverTime 流量隨時間的變化曲線
- HitsPerSecond 點擊率隨時間的變化曲線
- LatenciesOverTime 延遲隨時間的變化曲線
- PerfMon = PerfMon Metrics Collector 服務器參數隨時間變化曲線注意這個需要在jmx腳本中添加,服務器監控,要指定ip、端口、監控項,還需要指定perfMon的輸出文件,或者在命令行指定,如
sh jmeter.sh -n -t HTTP請求-baidu.jmx -l 2.jtp -JforcePerfmonFile=true
,這樣會輸出在當前路徑。
- ResponseCodesPerSecond 響應碼隨時間變化曲線
- ResponseTimesDistribution 響應時間分佈
- ResponseTimesOverTime 響應時間隨時間變化曲線
- ResponseTimesPercentiles 響應時間的百分比
- ThroughputVsThreads 吞吐率隨線程變化曲線
- TimesVsThreads = Response Times VS Threads 響應時間隨線程變化曲線
- TransactionsPerSecond 事務隨時間變化曲線
- PageDataExtractorOverTime
- MergeResults
腳本:
@echo off set file="interface" set jtlfile="interface_test.jtl" f: cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ThreadsStateOverTime.png --input-jtl %jtlfile% --plugin-type ThreadsStateOverTime java -jar CMDRunner.jar --tool Reporter --generate-png %file%_BytesThroughputOverTime.png --input-jtl %jtlfile% --plugin-type BytesThroughputOverTime java -jar CMDRunner.jar --tool Reporter --generate-png %file%_HitsPerSecond.png --input-jtl %jtlfile% --plugin-type HitsPerSecond java -jar CMDRunner.jar --tool Reporter --generate-png %file%_LatenciesOverTime.png --input-jtl %jtlfile% --plugin-type LatenciesOverTime java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ResponseCodesPerSecond.png --input-jtl %jtlfile% --plugin-type ResponseCodesPerSecond java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ResponseTimesDistribution.png --input-jtl %jtlfile% --plugin-type ResponseTimesDistribution java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ResponseTimesOverTime.png --input-jtl %jtlfile% --plugin-type ResponseTimesOverTime java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ResponseTimesPercentiles.png --input-jtl %jtlfile% --plugin-type ResponseTimesPercentiles java -jar CMDRunner.jar --tool Reporter --generate-png %file%_ThroughputVsThreads.png --input-jtl %jtlfile% --plugin-type ThroughputVsThreads java -jar CMDRunner.jar --tool Reporter --generate-png %file%_TimesVsThreads.png --input-jtl %jtlfile% --plugin-type TimesVsThreads java -jar CMDRunner.jar --tool Reporter --generate-png %file%_TransactionsPerSecond.png --input-jtl %jtlfile% --plugin-type TransactionsPerSecond java -jar CMDRunner.jar --tool Reporter --generate-png %file%_PageDataExtractorOverTime.png --input-jtl %jtlfile% --plugin-type PageDataExtractorOverTime java -jar CMDRunner.jar --tool Reporter --generate-png %file%_PerfMon.png --input-jtl %jtlfile% --plugin-type PerfMon
雙擊該bat文件後,我們在lib\ext目錄下去看,就可以看到生成了很多png圖片
參考:
http://jmeter-plugins.org/wiki/JMeterPluginsCMD/
https://blog.csdn.net/weixin_34321753/article/details/85854626
3. 把生成的圖表在html中展示
自己編寫一個HTML文件,展示圖表
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTHL 4.0 Trangitiona1//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME= "Generator" CONTENT="EditP1us">
<META NAME= "Author" CONTENT="">
<META NAME= "Keywords" CONTENT="">
<META NAME= "Description" CONTENT="">
</HEAD><BODY>
<table align = "center">
<tr align = "center"><td><H1>Performance Test Report</H1></td></tr>
</table>
<table align = "center">
<tr align = "center"><td><H2>Response Time</H2></td></tr>
<tr align = "center"><td><IMG src="D:/ProgramFiles/jmeter/bin/tps.png" WIDTH="800" HEIGHT="600" BORDER="0" ALT="" /></td></tr>
</table>
<table align = "center">
<tr align = "center"><td><H2>Response Time</H2></td></tr>
<tr align = "center"><td><IMG src="D:/ProgramFiles/jmeter/bin/TransactionsPerSecond.png" WIDTH="800" HEIGHT="600" BORDER="0" ALT="" /></td></tr>
</table>
</B0DY>
</HTML>
參考:https://testerhome.com/topics/13389