Jmeter建立一個web測試計劃
-
下載Jmeter 下載地址:http://jmeter.apache.org/download_jmeter.cgi 下載後解壓到你想“安裝”的路徑下,比如: D:\Program Files (x86)\Jemter\apache-jmeter-2.11
-
配置環境變數 新建JMETER_HOME系統環境變數,值設定為Jmeter所在的路徑, D:\Program Files (x86)\Jemter\apache-jmeter-2.11 注意:JMeter JVM相容版本為JVM6或更高版本
-
執行Jemeter 雙擊bin目錄下的jmeter.bat,開啟介面
-
建立測試計劃 測試計劃描述了Jmeter執行時會執行的一系列步驟 建立web 測試計劃
新增執行緒組後
說明: 執行緒數(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錄製登入操作】。
如下,設定提交按鈕的目標頁面的路徑,點選新增按鈕,輸入使用者名稱和密碼詳細資訊.有時候登入表單會包含隱含資訊,這些也需要新增
高階設定
- 使用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請求物件指定不同的請求頭。