1. 程式人生 > >Jmeter建立一個web測試計劃

Jmeter建立一個web測試計劃

  1. 下載Jmeter 下載地址:http://jmeter.apache.org/download_jmeter.cgi 下載後解壓到你想“安裝”的路徑下,比如: D:\Program Files (x86)\Jemter\apache-jmeter-2.11

  2. 配置環境變數 新建JMETER_HOME系統環境變數,值設定為Jmeter所在的路徑, D:\Program Files (x86)\Jemter\apache-jmeter-2.11 在這裡插入圖片描述 注意:JMeter JVM相容版本為JVM6或更高版本

  3. 執行Jemeter 雙擊bin目錄下的jmeter.bat,開啟介面

  4. 建立測試計劃 測試計劃描述了Jmeter執行時會執行的一系列步驟 建立web 測試計劃 在這裡插入圖片描述

    步驟1:新增使用者 新增一個執行緒組(Thread Group)元素,執行緒組元素告訴Jmeter你想模擬的使用者數量,使用者傳送請求頻率及傳送請求數。 右鍵測試計劃,新增執行緒組(Add --> ThreadGroup) 在這裡插入圖片描述

新增執行緒組後 在這裡插入圖片描述

說明: 執行緒數(Number of Threads(users)):也就是要模擬的使用者數

Ramp-Up Period(in seconds):告訴Jmeter開啟每個使用者之間的時間間隔。如果我們有5個使用者,並設定Ramp-Up Period(in seconds)為5秒,那麼開啟每個使用者的時間間隔為1秒(5 users / 5 seconds = 1 user per second)。如果你設定為0,那麼Jmeter將立即開啟所有使用者(執行緒)。

迴圈次數(Loop Count):告訴Jmeter重複執行多少次測試。如果選擇永遠(Forever),那麼將一直重複執行。

設定後 在這裡插入圖片描述

備註:Jmeter的設定是即時儲存的

步驟2:新增預設的HTTP請求屬性 定義使用者將要執行的任務(這裡可採用預設設定) 右鍵執行緒組,新增預設的HTTP請求預設值(Add --> Config Element --> HTTP Request Defaults) 在這裡插入圖片描述 在這裡插入圖片描述 伺服器名稱或(Server Name Or IP). 對於你建立的測試計劃來說,所有http請求將傳送到該伺服器。

步驟3:新增Cookie支援 幾乎所有的web測試都應該使用cookie支援,除非應用程式特地指明瞭不使用cookie。僅需新增一個HTTP Cookie管理器(HTTP Cookie Manager)來新增cookie支援。這將保證每個執行緒可以獲得自己的cookie,但是cookie為所有HTTP請求物件共享。

右鍵執行緒組,新增HTTP Cookie Manager(Add --> Config Element --> HTTP Cookie Manager)

在這裡插入圖片描述

在這裡插入圖片描述 步驟4:新增HTTP請求 右鍵執行緒組,新增http請求(Add --> Sampler --> HTTP Request) 在這裡插入圖片描述

例中,新增2個http請求。第一個:Jmeter主頁(http://jmeter.apache.org/), 第二個:Changes頁面(http://jmeter.apache.org/changes.html). Jmeter按它們出現在左側樹中的順序傳送請求。 設定路徑(Path): / 記住:沒必要再設定伺服器名(Server Name),你已經在HTTP Request Defaults元素中設定了該值。 在這裡插入圖片描述

新增第二個請求 在這裡插入圖片描述

步驟5:新增一個監聽器來檢視儲存的測試結果 監聽器是你最後需要新增一個元素.該元素負責將所有HTTP請求結果儲存在一個檔案中並且以可展示視化資料模型. 右鍵執行緒組,新增圖形結果監聽器( Graph Results listener) (Add --> Listener --> Graph Results). 在這裡插入圖片描述

然後,指定目錄和輸出檔名 在這裡插入圖片描述 備註:輸入不存在的檔名,開啟時會報錯,但是不影響。測試完成後自動新建指定的檔案並儲存資料。 在這裡插入圖片描述

執行

在這裡插入圖片描述 步驟6:登入網站 這本與案例無關,但是有些web站點要求執行特定操作前必須先登入網站。在一個web瀏覽器中,登陸表現為代表使用者名稱和密碼的表單以及提交表單的按鈕。點選提交按鈕時,生成一個POST請求,把表單項的值作為引數傳遞。

為了實現登入,新增一個HTTP請求,並設定方法為POST。需要知道表單使用的域的名稱及目標頁面,這可以通過檢查登入頁面的的程式碼中查詢到【如果你覺得這很難,你可以用Jmeter Proxy Recorder錄製登入操作】。

如下,設定提交按鈕的目標頁面的路徑,點選新增按鈕,輸入使用者名稱和密碼詳細資訊.有時候登入表單會包含隱含資訊,這些也需要新增 在這裡插入圖片描述

高階設定

  1. 使用HTTP URL Re-writing Modifier 如果你的web應用程式使用了URL重寫技術,而不是使用會話cookie,那麼需要做點額外的工作來測試你的網站。

Jmeter需要解析從伺服器下載的HTML並接收唯一的會話ID來正確響應URL重寫。使用合適的 HTTP URL Re-writing Modifier來完成這個任務。 在這裡插入圖片描述

簡單的在修飾符中輸入會話ID引數名,它將查詢給定引數並將引數新增到每個請求中,如果請求已經擁有引數值了,則將替換原有引數值。. 如果勾選“Cache Session ID?”(是否快取會話ID),那麼最後一次快取的會話ID將被儲存,並且如果前一個HTTP例項沒包含會話ID,那麼將使用該會話ID

在這裡插入圖片描述 注意: 1.URL Re-writing modifier新增到簡單控制器(SimpleController),這樣,它僅影響位於SimpleController下的請求.

說明: 在這裡插入圖片描述 如果勾選【路徑擴充套件(使用”;”作為分隔符)】複選框,那麼意味著會話ID應該作為路徑的一部分(由一個”;”分割),而不是一個請求引數

2.使用請求頭管理器(Header Manager) HTTP Header Manager讓你可以自定義Jmeter在HTTP request header中傳送的資訊。 請求包含類似"User-Agent", “Pragma”, "Referer"等等屬性 The HTTP Header Manager , 類似 HTTP Cookie Manager , 應該新增到執行緒組,除非出於某些原因,你想為不同的HTTP請求物件指定不同的請求頭。 在這裡插入圖片描述 在這裡插入圖片描述