安裝
- 使用JMeter的前提需要安裝JDK,需要JDK1.7以上版本
- 目前在用的是JMeter5.2版本,大家可自行下載解壓使用
運行
- 進入解壓路徑如E: \apache-jmeter-5.2\bin,雙擊jmeter.bat啟動運行
- 啟動后默認為英文版本,可通過Options – Choose Language – Chinese(Simplified) 設置為中文版
JMeter進行接口測試流程
1.測試計划,可以理解為被測項目,下面可以添加一系列待測接口。
可自定義名稱,便於自己理解。
2.線程組,在測試計划上鼠標右擊 – 添加 – 線程(用戶)- 線程組。
一個線程組可以當做一個虛擬用戶組,線程組中每個線程都可以裂解為一個虛擬用戶。這個在性能測試中會用到,接口測試暫時不用關注,默認值為1即可。
3.HTTP請求默認值,線程組上鼠標右擊 – 添加 – 配置元件 – HTTP請求默認值
進行接口測試時需要填寫協議,IP地址及端口號,為了避免重復操作,可在線程組下添加HTTP請求默認值,填入協議、IP地址和端口號,這樣后續的HTTP請求中就不用每次都填寫了。
4.HTTP信息頭管理,線程組上鼠標右擊 – 添加 – 配置元件 – HTTP信息頭管理
如果請求參數非json格式,可以不用添加此元件。
該元件是針對傳入參數為json格式,需添加名稱為Content-Type,值為application/json
5.HTTP請求,線程組上鼠標右擊 – 添加 – 取樣器 – HTTP請求
HTTP請求主要包括請求方法、請求路徑和請求參數。
由於協議、IP地址、端口號已經在HTTP請求默認值進行了設置,所以此處可以為空。
(1)傳入非json格式的參數,可以直接在HTTP請求面板中【參數】下進行添加:填寫參數名稱與對應的值
(2)傳入json格式參數,如果參數值存在中文的情況,內容編碼需為utf-8格式,避免亂碼情況的發生
6.斷言,主要目的是檢查接口是否訪問成功。斷言的方式比較多,包含響應斷言、JSON斷言,大小斷言,JSR223斷言等等,一共提供15種斷言方式,一般常用的主要是響應斷言,也可以用JSON斷言。對於復雜的接口,可借助BeanShell斷言。
這里主要介紹響應斷言的用法。
HTTP請求上鼠標右擊 – 添加 – 斷言 – 響應斷言
詳情如圖:
Apply to 指斷言的作用范圍,一般情況下發出一個請求只觸發一個請求,所以默認勾選Main sample only即可。下面針對四種選項做個說明:
(1) Main sample and sub-samples:作用於主請求和子請求
(2) Main sample only:僅僅作用於主請求
(3) Sub-sample only:僅僅作用於子請求
(4) J Meter Variable:作用於j meter變量(輸入框填寫變量名稱)
響應字段 主要包含響應文本、響應代碼、響應信息、響應頭、請求頭、URL樣本、文檔(文本)、忽略狀態、請求狀態,下面針對每種方式做個說明:
(1) 響應文本,一般匹配返回的json數據,需要結合模式匹配規則進行校驗
根據響應文本的測試模式”records”(*?)匹配到內容,只要包括這些內容,則判斷接口執行通過。
(2) 響應代碼,匹配返回碼,如200,404,500等
(3) 響應信息,匹配響應信息,如OK, Sucess字樣
(4) 響應頭,匹配響應頭
(5) 請求頭,匹配請求頭
(6) URL樣本,匹配請求的url鏈接,如果有重定向則包含請求url和重定向url
(7) 文檔(文本),匹配響應數據的文本格式
(8) 忽略狀態,一個請求有多個響應斷言,第一個響應斷言選中此項時,如果第一個響應斷言失敗時可以忽略此響應結果,繼續進行下一個斷言。如果下一個斷言成功則還是判定事務是成功的
(9) 請求數據,匹配請求數據
實際比較常用的是響應文本、響應代碼、響應信息,這三種還是無法滿足的則繼續補充其他字段。
模式匹配規則,有包括、匹配、相等、字符串、否、或者。
(1) 包括,響應內容包括需要匹配的內容就表示響應成功,可結合正則表達式進行
(2) 匹配,響應內容要完全匹配需要匹配的內容就表示響應成功,可結合正則表達式進行
(3) 相等,響應內容要完全等於需要匹配的內容才代表響應成功,不支持正則表達式
(4) 字符串,響應內容包含需要匹配的內容才代表成功,不支持正則表達式
(5) 否,相當於取反,如果結果是True,勾選上“否”那結果就是False
(6) 或者,可以用於將多個斷言模式進行連接,只要一個模式匹配,斷言就代表成功
測試模式,其實就是填寫自己的預期值。
7.監聽器-察看結果樹,主要用於查看接口執行情況,以樹形結構顯示接口訪問結果,包含取樣器結果、請求與相應數據。
線程組上鼠標右擊 – 添加 – 監聽器 – 察看結果樹
監聽器還包含其他形式如匯總報告、聚合報告、后端監聽器等,接口測試主要用到的就是察看結果樹。
通過察看結果樹可以了解接口執行情況,如果執行失敗需要看下錯誤信息。
至此,使用J Meter進行常用的接口測試就結束了,實際使用過程遇到的特殊情況可以及時反饋(其實和Postman測試接口大同小異~)