標籤:定義 大量 panel 滑鼠 分享 users 相關 code images
本篇內容主要側重實戰,以我們公司主要應用的Http介面為核心講解。
1、開啟Jmeter
主介面介紹:
JMeter的主介面主要分為狀態列、功能表列、工具列、樹形標籤欄和內容欄
狀態列:主要顯示JMeter的主要版本和release版本。
功能表列:全部的功能的都包含在功能表列中。
工具列:工具列中的按鈕在功能表列都可以找到,工具列就相當於功能表列常用功能的快捷按鈕。
樹形標籤欄:樹形標籤欄通常用來顯示測試案例相關的標籤。
內容欄:配合樹形標籤欄顯示,樹形標籤中點擊哪個標籤,內容欄中就顯示相應的內容和操作。
2、並發請求類比 ----- 線程組
效能測試主要為了類比大量並發請求。JMeter使用線程組類比同時有多個使用者並發訪問的情境。
在“測試計劃”上點擊滑鼠右鍵-->添加-->threads(Users)–>線程組,添加測試情境設定組件,介面測試中一般設定為1個“線程數”,根據測試資料的個數設定“迴圈次數”。
線程組介面介紹:
- 名稱:可以給線程組設定一個個人化的命名
- 注釋:可以對線程組添加備忘以標記
- 在取樣器錯誤後要執行的動作:就是在錯誤之後要如何執行,可選繼續執行後續的、停止執行等。
- 線程數:就是需要設定多少線程執行測試。
- Ramp-up Period (in Seconds):用於告知JMeter 要在多長時間內建立全部的線程。預設值是0。如果未指定ramp-up period ,也就是說ramp-up period 為零, JMeter 將立即建立所有線程。假設ramp-up period 設定成T 秒, 全部線程數設定成N個, JMeter 將每隔T/N秒建立一個線程。
- 迴圈次數:就是決定一個線程要跑多少次測試。
- Delay Thread creation until needed:直到需要時延遲線程的建立
- 調度器:選中之後可以配置啟動時間,立即或者預定的時間
3、測試情境環境參數設定 ——— “Http請求預設值”組件
當被測系統有唯一的訪問網域名稱和連接埠時,這個組件很好用。
同時更改訪問網域名稱和連接埠時,統一配置資料
“HTTP 要求預設值”組件配置頁面
4、 添加“HTTP資訊頭管理器”組件
要求標頭資訊常常需要包含token、session、type等資訊。
5、設定“HTTP資訊頭管理器”
設定預設要求標頭,可以添加Authorization繞過登入驗證;
設定Content-Type指定請求內容類型;
設定charset指定請求字元集等;
6、在“線程組”裡添加“HTTP 要求”的Sampler
7、設定“HTTP請求”
在HTTP請求設定頁面,錄入被測介面的詳細資料,包括請求路徑,對應的要求方法,以及隨請求一起發送的參數列表
8、添加檢查點:在被測介面對應的“HTTP 要求”上,添加“響應斷言”
9、
設定檢查點
在設定頁面上添加對相應結果的Regex存在性判斷即可。
10、添加監聽器
方便查看運行後的結果
11、查看“彙總報告”
- Label: 定義的HTTP請求名稱
- Samples: 表示這次測試中一共發出了多少個請求
- Average: 訪問頁面的平均回應時間
- Median:訪問頁面的中位元回應時間
- 90% Line:訪問頁面的90%回應時間
- 95% Line:訪問頁面的95%回應時間
- 99% Line:訪問頁面的99%回應時間
- Min: 訪問頁面的最小回應時間
- Max: 訪問頁面的最大回應時間
- Error%: 錯誤的請求的數量/請求的總數
- Throughput:每秒完成的請求數
- KB/Sec: 每秒從伺服器端接收到的資料量
關於90% Line:
一組數由小到大進行排列,找到他的第90%個數(假如是12),那麼這個數組中有90%的數將小於等於12 。
用在效能測試的回應時間也將非常有意義,也就是90%請求回應時間不會超過12 秒。
上述步驟完成了一個簡單測試案例的建立,複雜測試案例均在此基礎上擴充完成。
使用Jmeter工具開發的介面測試案例,一個子系統建議放在同一個 “測試計劃”中,流程測試可以通過“線程組”來區分,這樣也便於設定不同的測試資料個數。
比較獨立的介面,可以統一放在一個線程組內,順序完成測試。
流程性介面的測試:如果要測試的介面可以組成一個流程,只需要順序添加多個“HTTP 要求”的Sampler,各請求之間可以提取需要在上下文傳遞的資料作為參數,以保證流程中資料的一致性。
jmeter實現Http介面測試介紹