『動善時』JMeter基礎 — 6、使用JMeter傳送一個最基礎的請求

繁華似錦Fighting發表於2021-05-06

當我們第一次開啟JMeter的時候,樹形標籤欄中只有一個“測試計劃”。
image
如果想要傳送一個最基礎的請求,需要操作如下步驟:

步驟1:建立一個測試計劃

開啟JMeter會預設有一個建立好的測試計劃。

一個測試計劃描述了一系列JMeter執行時要執行的步驟。一個完整的測試計劃包含一個或者多個執行緒組,邏輯控制器,取樣控制器,監聽器,定時器,斷言和配置元件。(測試計劃必須至少具有一個執行緒組)

提示:

如果需要建立一個新的測試計劃,點選“檔案” —> "新建",會開啟新的JMeter視窗。
(JMeter原則上是希望一個視窗只可以修改或編輯一個測試計劃)

步驟2:建立執行緒組

首先需要選中“測試計劃”右鍵 —> 新增 —> 執行緒(使用者) —> 執行緒組,如下圖:
image

說明:

  • setUp執行緒組:線上程組之前執行。
  • tearDown執行緒組:線上程組之後執行。

如果你還安裝了其他的元件和外掛的話,還會有一些其他的執行緒選項。

步驟3:建立取樣器

選中“執行緒組”右鍵 —> 新增 —> 取樣器 —> HTTP請求(以HTTP請求為例)
image

步驟4:建立監聽器

選中“執行緒組”右鍵 —> 新增 —> 監聽器 —> 察看結果樹
image

步驟5:完善資訊

開始編輯樹形標籤欄中每個標籤的內容。

(1)測試計劃標籤

  • 名稱:預設為測試計劃,在實際的工作中,你需要修改成xxx專案的測試計劃。
  • 註釋:就是對該測試專案的一些描述。
  • 新增目錄或jar包到ClassPath:當我們需要引用一些外部jar包的時候,點選“瀏覽”進行新增。之後我們在寫測試指令碼的時候,就可以引用這些jar包中的內容了。

(其他的選項和內容我們之後再說明,這裡就先簡單介紹一些基本用法)
image

(2)執行緒組標籤

  • 名稱:執行緒組就相當於一個流程,也就是定義該流程的名字,例如:訪問百度。
  • 註釋:對該執行緒組的說明。

(其他內容保持預設即可)
image

(3)HTTP請求標籤

  • 名稱:對於我們來說一個HTTP請求就相當於呼叫一個介面。一個流程(執行緒組)中可以有多個介面(HTTP請求)。換句話說,在一個流程中,要訪問多少個介面,就新增多少個HTTP請求。
    該名稱可以修改成訪問介面的名字,例如:訪問百度。
  • 註釋:對該HTTP請求的說明。
  • 協議(必填):寫你需要使用的協議,如訪問百度網站需要使用http協議或者https協議。
  • 伺服器名稱或IP(必填):也就是需要請求伺服器的域名或者IP地址。例如訪問百度網站,填寫www.baidu.com。(注意此處不要加協議)
  • 埠號:有指定訪問的埠號就需要填寫,訪問百度網站則不需要填寫,會使用預設埠號,如80或者443。
  • 方法:也就是選擇請求方式,我們訪問百度網站,選擇GET方式即可。

(其他內容保持預設即可)

填寫完如下圖:
image

步驟6:儲存測試計劃

此時就可以點選工具欄中的“啟動”按鈕,執行這個測試計劃。
image

點選"啟動"按鈕後,JMeter會彈出一個警告,如下圖:
image

提示你再測試計劃執行前,請先儲存該測試計劃。點選YES就會彈出儲存視窗。

我們就先把這個測試計劃儲存到桌面。
image

儲存完成後,JMeter會自動執行該測試計劃。

結果去察看結果樹中檢視。

步驟7:檢視結果

點選樹形標籤欄中測試計劃的“察看結果樹”來檢視該測試計劃的執行結果。

察看結果樹會顯示測試計劃中所有請求資料,請求資料中展示了每一個取樣器的結果、請求資訊和響應資訊。除此之外還可以檢視獲得響應所花費的時間,以及一些響應程式碼等資訊。這些內容可以幫助我們去分析指令碼是否存在問題。

察看結果樹內容如下圖:
image

察看結果樹可以說是JMeter中最常用的監聽器,通過它就可以看到請求的傳送和返回資訊。

總結:JMeter測試計劃要素

JMeter中一個指令碼就是一個測試計劃,也是一個管理單元。JMeter的請求模擬與併發數設定都在指令碼檔案中一起設定。

測試計劃要素如下:

  • 要素一:指令碼中測試計劃只能有一個JMeter測試計劃。
    同一時刻場景固然只能有一個,JMeter指令碼在GUI中顯示是樹型結構,測試計劃是根節點。根節點當然只能有一個。
  • 要素二:測試計劃中至少要有一個執行緒組。
    JMeter負載是通過執行緒組驅動的,所以計劃中至少要出現一個執行緒組。
    JMeter測試計劃支援多個執行緒組,我們可以在計劃下面建立多個執行緒組,把不相關的業務分佈在不同的執行緒組。(也就是一個測試計劃中可以個多個流程,一個流程就代表一個執行緒組)
  • 要素三:至少要有一個取樣器。
    測試的目的就是要模擬使用者請求,沒有取樣器指令碼就毫無意義。
    也就是在一個流程下可以有多個請求,一個介面對應一個HTTP請求。
  • 要素四:至少有一個監聽器。(收集結果)
    測試結果用來衡量系統效能,我們需要從結果中分析系統效能。

說明

我們這裡只是簡單了介紹了JMeter傳送一個請求最基礎的一些步驟。

關於每個步驟中具體的操作和更多的細節都沒有展開說明,以後會逐一展開詳細說明,我們先對使用JMeter傳送請求有一個最基礎的認識就可以了。

相關文章