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選項

是可以覆蓋該配置的路徑的;

 

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