JMeter是Apache組織開源的測試工具,可用於基於協議的功能和效能測試。
如今,前後端分離和微服務架構日益流行,在介面層面已經”暴露“了越來越多的業務處理邏輯。加上API介面通常需要向前相容,引發了大量的迴歸測試工作量,從而帶來更多的介面測試需求。
本文我們介紹如何使用JMeter來做HTTP介面的測試。
JMeter安裝
- 從這裡下載JMeter最新版,解壓到本地目錄;
- 雙擊bin目錄下的jmeter.bat啟動JMeter,非Windows系統請使用jmeter檔案;
依次選擇選單Options->Choose Language->Chinese(Simplified),可切換到中文;想永久修改語言的,請編輯bin目錄下的jmeter.properties檔案;
#language=en language=zh_CN
為防止亂碼,請修改字符集為UTF-8,在jmeter.properties檔案中加入如下行;
#sampleresult.default.encoding=ISO-8859-1 sampleresult.default.encoding=UTF-8
快速開始
- 右擊左側樹狀結構中的TestPlan,選擇新增->執行緒(使用者)->執行緒組,進入執行緒組設定頁面;
錯誤處理: 決定發生錯誤後所執行的動作,如繼續還是停止。
執行緒數: 併發的虛擬使用者數。
Ramp-Up時間(秒): 啟動所有執行緒經過的時間,圖中配置每秒將啟動2(10/5)個執行緒。
迴圈次數: 重複執行的次數,圖中配置將傳送30(10x3)次請求。勾選永遠會不停地傳送請求。
延遲建立執行緒直到需要: 控制執行緒的建立的時間,預設不選中表示初始建立所有執行緒。注意此處執行緒建立和Ramp-Up中執行開始的區別。
排程器
持續時間: 控制執行的總時間,到時間迴圈未結束也將強行終止。
啟動延時: 在測試啟動和開始執行之間,增加一個延遲。 - 右擊新建的執行緒組,選擇選單新增->取樣器->HTTP請求,在開啟的頁面做如下配置;
協議: http
伺服器名稱: www.baidu.com
埠: 保持空為預設值80;
請求型別: 選擇GET
引數: 新增查詢引數,key為”wd“、值為”禪道“。 - 右擊執行緒組,選擇選單監聽器->檢視結果樹,進入請求結果檢視器頁面;
- 依次點選工具欄中的儲存和執行按鈕,試執行我們配置的HTTP請求;
- 在求結果檢視器中,選擇一個HTTP請求,右側可檢視其狀態、請求和響應的內容。
- 右擊執行緒組,選擇選單新增->斷言->HTML斷言,在開啟的頁面做如下配置;
測試欄位: 響應文字
測試模式: Apache JMeter - 依次點選工具欄中的儲存和執行按鈕,執行介面測試;
- 在求結果檢視器中,選擇最後一個HTTP請求,確認執行和斷言成功。