天天看點

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

1 簡介

Jmeter 是一款使用Java開發的,開源免費的,測試工具, 主要用來做功能測試和性能測試(壓力測試/負載測試).

而且用Jmeter 來測試 Restful API, 非常好用。預置知識必須學好HTTP協定。

2 下載下傳和運作

  • 官網 解壓後, 運作 bin/jmeter.bat
  • Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯
    Jmeter 支援中文,點選 Options -> Choose Language
  • Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

案例

  • 目标

    擷取城市的天氣資料:

  1. 發送request 擷取城市的城市代号 http://toy1.weather.com.cn/search?cityname= 上海
  2. 從這個請求的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

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

第三步 添加HTTP Head Manager

HTTP請求頭管理器。

選中上一步建立的HTTP request,右鍵建立一個Http Header manager,添加一個header

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 關聯

配置檔案

  • 添加 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

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

添加 Assert Results

然後添加一個Assetion Results 用來檢視Assertion執行的結果.

選中Thread Group 右鍵 Add -> Listener -> Assertion Results。

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

運作後, 如果HTTP Response中沒有包含期待的字元串。 那麼test 就會Fail,否則如下

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

第7步: 使用使用者自定義變量

可以在Jmeter中定義變量。 比如我定義一個變量叫 city. 使用它的時候用 ${city}

添加一個 User Defined Variables. 選中Thread Group: 右鍵 Add -> Config Element -> User Defined Variables

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

添加一個變量: city

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

在Http Request(GetCityCode)中使用這個變量

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

8 關聯

關聯, 就是第二個Requst, 使用第一個Request中的資料.

需要在第一個Http Requst 中建立一個正規表達式,把Response的值提取到變量中,提供給别的Http Request 使用.

選擇第一個Http Request, 右鍵 Add -> Post Processors -> Regular Expresstion Extractor

Jmeter壓測基本操作及按鈕全面詳解1 簡介2 下載下傳和運作案例第一步: 建立一個Thread Group第二步:建立一個 HTTP Request第三步 添加HTTP Head Manager第四步: 添加View Results Tree(檢視結果樹)第五步:運作測試,檢視結果第六步第7步: 使用使用者自定義變量8 關聯

建立第二個Http Request, 發送到:

http://www.weather.com.cn/weather2d/${citycode}.html

${citycode}

中的資料,就是從Regular Expression Extractor 中取來的

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 關聯