1 簡介
Jmeter 是一款使用Java開發的,開源免費的,測試工具, 主要用來做功能測試和性能測試(壓力測試/負載測試).
而且用Jmeter 來測試 Restful API, 非常好用。預置知識必須學好HTTP協定。
2 下載下傳和運作
- 官網 解壓後, 運作 bin/jmeter.bat
- Jmeter 支援中文,點選 Options -> Choose Language
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯 -
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
案例
-
目标
擷取城市的天氣資料:
- 發送request 擷取城市的城市代号 http://toy1.weather.com.cn/search?cityname= 上海
- 從這個請求的response 中擷取到上海的城市代碼. 比如:
上海的地區代碼是101020100
上海動物園的地區代碼是: 10102010016A
發送request 到:
http://www.weather.com.cn/weather2d/101020100.shtml可以得到該城市的天氣資料
第一步: 建立一個Thread Group
必須建立一個Thread Group, jmeter的所有任務都必須由線程處理,所有任務都必須線上程組下面建立。
- 右鍵TestPlan -> Add -> Threads(Users)-> Thread Group
-
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
第二步:建立一個 HTTP Request
第三步 添加HTTP Head Manager
HTTP請求頭管理器。
選中上一步建立的HTTP request,右鍵建立一個Http Header manager,添加一個header
配置檔案
- 添加 csv 配置檔案
-
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
第四步: 添加View Results Tree(檢視結果樹)
- View Results Tree 用來看運作結果
-
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯 -
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯 - 之後,便出現了View Results Tree,還可選format内容:
-
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
第五步:運作測試,檢視結果
- 響應資料
-
Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
第六步
添加Assertion
選中HTTP Request(即GetCityCode), 右鍵 Add-> Assertions -> Response Assertion. 添加 Patterns To Test
添加 Assert Results
然後添加一個Assetion Results 用來檢視Assertion執行的結果.
選中Thread Group 右鍵 Add -> Listener -> Assertion Results。
運作後, 如果HTTP Response中沒有包含期待的字元串。 那麼test 就會Fail,否則如下
第7步: 使用使用者自定義變量
可以在Jmeter中定義變量。 比如我定義一個變量叫 city. 使用它的時候用 ${city}
添加一個 User Defined Variables. 選中Thread Group: 右鍵 Add -> Config Element -> User Defined Variables
添加一個變量: city
在Http Request(GetCityCode)中使用這個變量
8 關聯
關聯, 就是第二個Requst, 使用第一個Request中的資料.
需要在第一個Http Requst 中建立一個正規表達式,把Response的值提取到變量中,提供給别的Http Request 使用.
選擇第一個Http Request, 右鍵 Add -> Post Processors -> Regular Expresstion Extractor
建立第二個Http Request, 發送到:
http://www.weather.com.cn/weather2d/${citycode}.html
${citycode}
中的資料,就是從Regular Expression Extractor 中取來的
到這, 腳本就全部寫好了, 運作下,看下最終結果