接口測試工具-Jmeter壓力測試使用
官方描述:jmeter是apache公司基于java開發的一款開源壓力測試工具,體積小,功能全,使用友善,是一個比較輕量級的測試工具,使用起來非常簡單。因為jmeter是java開發的,是以運作的時候必須先要安裝jdk才可以。jmeter是免安裝的,拿到安裝包之後直接解壓就可以使用,同時它在linux/windows/macos上都可以使用。
jmeter可以做接口測試和壓力測試。其中接口測試的簡單操作包括做http腳本(發get/post請求、加cookie、加header、權重限認證、上傳檔案)、做webservice腳本、參數化、斷言、關聯(正規表達式提取器和處理json-json path extractor)和jmeter操作資料庫等等。
一、Jmeter下載下傳
進入官網:http://jmeter.apache.org/
1.第一步進入官網如下圖

2.選擇進行下載下傳,下載下傳下來為一個壓縮包,解壓即可。
3.Jmeter對應jdk1.8。然後就進行解壓。一定要確定環境變量配置正确(包括jdk的與jmeter的環境變量配置)。
二、Jmeter環境變量相關配置
1.) 電腦桌面----》“計算機”圖示----》滑鼠右鍵選擇“屬性”----》點選進階系統設定----》進階---》環境變量頁面
2) 開始配置環境變量了。在系統變量框,點選“建立”,建立一個變量:JMETER_HOME,值為你解壓的jmeter安裝路徑。我的安裝路徑是在E盤,這個路徑根據自己實際安裝路徑進行填寫。然後點選确定儲存即可
3)配置classpath變量,沒有的話也要按照上面步驟進行建立,有的話直接進行選中,點選編輯即可。變量值固定為:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar; 做完之後一定要儲存,不确定的話可以直接點選确定按鈕直到退到我的電腦頁面
4)基本配置完成,然後驗證一下是否配置正确,是否可用。
首先進到你的jmeter安裝路徑,找到bin檔案夾,點選進去,找到jmeter.bat,滑鼠右鍵用管理者方式運作,或者直接輕按兩下打開,此時會彈出2個界面:1.個是指令視窗,使用jmeter的時候此指令視窗不能關,你縮小到電腦工作列即可。2.還有一個界面是jmeter工作頁面,你可以在裡面進行相關的操作.具體如圖
5)确認安裝是否成功,輕按兩下jmeter.bat或者以管理者方式運作,頁面如下:
6)jmeter的工作區域如下:,我們每次使用jmeter的首先打開方式就是進入bin檔案下輕按兩下這個jmeter.bat,如果覺得麻煩,可以滑鼠右鍵快捷方式發送電腦桌面,就會友善很多。
三、Jmeter測試案例
1、添加本次測試計劃 (右鍵-->添加-->Threads(Users)-->線程組)
2、設定線程數 (所謂線程數就是并發數)
3、添加協定及相關配置資訊
4、為線程添加監聽器
5、啟動測試
6、檢視報告
檢視結果樹
聚合報告
圖形結果
四、結果分析檢視
當測試完成後,最關心的就是測試結果。jmeter提供了很多種檢視測試結果的元件,View Results Tree、Summary Report、Graph Results等等,簡單介紹一下
1、View Results Tree
傳回資料:
取樣器結果:傳回值報200,表示執行接口調試成功
請求:發送的資料
響應資料:傳回的資料
Thread Name:線程組名稱
Sample Start: 啟動開始時間
Load time:加載時長
Latency:等待時長
Size in bytes:發送的資料總大小
Headers size in bytes:發送資料的其餘部分大小
Sample Count:發送統計
Error Count:互動錯誤統計
Response code:傳回碼
Response message:傳回資訊
Response headers:傳回的頭部資訊
2、AggregateReport
- Label - 請求對應的name屬性值。
- Samples - 具有相同标号的樣本數,總的送出請求數。
- Average - 請求的平均響應時間。
- Median - 50%的樣本都沒有超過這個時間。這個值是指把所有資料按由小到大将其排列,就是排列在第50%的值。
- 90% Line - 90%的樣本都沒有超過這個時間。這個值是指把所有資料按由小到大将其排列,就是排列在第90%的值。
- 95% Line - 95%的樣本都沒有超過這個時間。這個值是指把所有資料按由小到大将其排列,就是排列在第95%的值。
- 99% Line - 99%的樣本都沒有超過這個時間。這個值是指把所有資料按由小到大将其排列,就是排列在第99%的值。
- Min - 最小響應時間。
- Max - 最大響應時間。
- Error % - 本次測試中,有錯誤請求的百分比。
- Throughput - 吞吐量是以每秒/分鐘/小時的請求量來度量的。這裡表示每秒完成的請求數。
- Received KB/sec - 收到的千位元組每秒的吞吐量測試。
- Sent KB/sec - 發送的千位元組每秒的吞吐量測試。
3、Graph Results
- No of Samples:總共發送到伺服器的請求數。
- Latest Samples:代表時間的數字,是伺服器響應最後一個請求的時間。
- Average:總運作時間除以發送到伺服器的請求數。
- Devaition:表示伺服器響應時間變化、離散程度測量值的大小。
- Throughput:伺服器每分鐘處理的請求數。
- Median:有一半的伺服器響應時間低于改值而另一半高于該值。
4、jp@gc - Transactions per Second
5、儲存到檔案
大部分元件均提供了将測試結果儲存到檔案的功能,指定輸出檔案的絕對路徑即可,如下:
執行完畢後,打開檔案,可以檢視原始的資料資訊,接下來按自己的需要處理原始資訊。
6、生成web頁面的報告
- 在指令行下執行腳本,注意:如果沒有配置環境變量的話,要在jmeter安裝目錄的bin下啟動指令行,
- 指令:
jmeter -n -t D:\program\apache-jmeter-5.0\samples\28.summary_report.jmx -l d:\summary.jtl -e -o d:\result
綠色字型:表示要執行的腳本
藍色字型:生成後的腳本
紅色字型:web頁面報告的存儲路徑
- 檢視結果,生成很漂亮的測試報告