當前位置:編程學習大全網 - 源碼下載 - Jmeter 壓力測試並輸出HTML報告

Jmeter 壓力測試並輸出HTML報告

在進行性能測試執行之前,需要進行場景的設計:

以什麽方式啟動,如何持續進行,直至測試結束

三部曲:啟動---持續進行---結束

PS:壹般情況下,建議限制Jmeter的的線程數在300及以內,這樣能更好的發揮出jmeter的性能

測試步驟:

測試計劃---線程組--HTTP請求---監聽器---運行腳本---查看報告

PS:默認情況下,JMeter運行需要占用1 GB的內存,這可能還不夠,取決於妳的測試計劃和需要運行的線程數

壹個測試計劃描述了壹系列Jmeter運行時需要執行的步驟,可以包含壹個或者多個線程組,邏輯控制器,取樣發生控制,監聽器,定時器,斷言和配置元件。

啟動JMeter,會出現壹個空的測試計劃,此次練習通過手寫腳本來實現

(不熟悉操作的,也可以通過模板的形式創建,在菜單欄文件--Templates,下拉列表中選擇Recording,點擊Create,壹個完整的Test Plan就生成了,當然我們可以刪除不需要的內容)

作用:模擬用戶個數、發送請求的頻率及次數

PS:設置合理的線程數對能否達到測試目標有著決定性的影響,另外,設置合理的循環次數也很重要

此處添加3個HTTP請求

1、添加響應斷言 :設置響應碼為200

2、查看結果樹,驗證請求

調試時線程數和循環次數設為1就可以了,記得調試好之後再改回去

3、禁用查看結果樹,命令行執行腳本

我們在啟動Jmeter時就會看到命令行的提示信息,進行負載測試時請不要使用GUI模式,也就是用命令行模式運行 JMeter 測試腳本,這樣可以大大縮減所需要的系統資源

備註:GUI 即圖形用戶界面模式,只應用於創建測試腳本、調試腳本

圖中也給出了命令格式: jmeter -n -t [jmx file] -l [result file] -e -o [Path to output folder] ,JMeter 默認去當前目錄尋找腳本文件,並把日誌記錄在當前目錄,當然也可以使用絕對路徑來執行

參數說明:

(1)直接生成HTML報告

PS:輸出文件(-l後的文件)必須是不存在的,report文件夾為空文件夾或者不存在(-o後面的),不然無法生存報告

啟動CMD窗口,輸入以下命令:

jmeter -n -t C:\Users\zhangXXX\Desktop\baidu.jmx -l C:\Users\zhangXXX\Desktop\html.csv -e -o C:\Users\zhangXXX\Desktop\baidu-reports

(2)使用之前的測試結果,生成測試報告

啟動CMD窗口,先生成測試結果,再生成報告,輸入以下命令:

PS:-g 指定已存在的測試結果文件

以上兩種方法,其實最終都依賴生成的測試報告。雙擊報告文件夾中的index.html就可以查看報告

Dashboard:

Test and Report informations:指的是測試和報告信息

APDEX(Application Performance Index):應用程序性能滿意度的標準,範圍在0-1之間,1表示達到所有用戶均滿意,越接近1滿意度越高

Requests Summary:請求的通過率(OK)與失敗率(KO),百分比顯示

Statistics:數據分析,基本將Summary Report和Aggrerate Report的結果合並

Errors:錯誤情況,依據不同的錯誤類型,將所有錯誤結果展示

Charts: 用圖表的形式展示測試數據,讓測試報告更加直觀**

主要有如下特點:

(1)將測試過程中經常使用的數據,用圖表的形式展示,讓測試結果更加直觀

(2)每個圖表數據,有兩種展示形式

(3)支持請求樣例過濾顯示

(4)支持導出PNG圖片格式

Over Time Charts:

Throughput Charts:

Response Times Charts:

4、添加所需監聽器,導入日誌文件即可查看

在性能測試過程中,我們往往需要將測試結果保存在壹個文件當中,也可以為日後的性能測試報告提供更多的素材

在Jmeter中,結果都存放在 .jtl 文件中,格式有很多種,可以根據需要進行更愛,選擇某個監聽器,在 configure頁面 進行相應配置,讓我們來查看下保存後的文件有哪些內容:

接下來添加壹個聚合報告,然後導入日誌文件,查看結果,還可以添加其他的監聽器,操作方法壹樣

PS:如果測試計劃中增加了監聽器(生成概要結果),在執行命令時就可以看到每個線程的執行情況

PS:設置好線程數、循環次數、集合點、事務、斷言、關聯等等後即可執行壓力測試

原理和LR的agent差不多,因為jmeter由Java開發,耗內存、cpu,所以需要采用分布式

步驟:

1、關閉防火墻

2、在所要運行jmeter並作為負載生成器的機器上安裝jmeter(確保在所有系統中使用了相同版本號的Jmeter和jdk)

PS:目標服務器需要在相同網段,確保Jmeter可以訪問目標服務器

3、確定其中壹臺機器作為主controller,其他的機器作為agent,然後運行所有agent機器上的jmeter-server文件

4、在controller機器的jmeter中bin目錄下,找到jmeter.properties文件,添加節點IP,修改localhost為壓力機IP

5、啟動conttoller機子上的jmeter應用,選擇菜單運行---遠程啟動來分別啟動agent,也可以直接選擇遠程全部啟動來將所有個agent啟動

在性能測試過程中,我們通常需要將測試結果保存在壹個文件當中,既可以保存測試結果,也可以為日後的性能測試報告提供更多的素材

Jmeter中,結果都存放在.jtl文件,壹般以csv文件格式記錄,只需要選擇某個監聽器,點擊頁面的configure按鈕,建議勾選如下項:Save Field Name,Save Assertion Failure Message

技術點:HTTP相關設置+參數化+斷言+關聯+簡單控制器+查看結果樹

關聯:通過Json控件或正則表達式獲取

(1)線程組建議替換為jp@gc - Stepping Thread Group,功能比線程組多很多

(2)可以加事務控制器

(3)查看結果樹替換為聚合報告或類似的報告,如果還是想看查看結果樹記得勾選僅日誌錯誤(查看結果樹打印的日誌比較多,會影響性能)

(4)造數據

總結:

壹個子系統建議放在同壹個 “測試計劃”中,流程測試可以通過“線程組”來區分,這樣也便於設定不同的測試數據個數。

比較獨立的接口,可以統壹放在壹個線程組內,順序完成測試。

流程性接口的測試:如果要測試的接口可以組成壹個流程,只需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的數據作為參數,以保證流程中數據的壹致性

  • 上一篇:會說話的湯姆貓2是遊戲版。
  • 下一篇:2022房地產委托合同協議書
  • copyright 2024編程學習大全網