測試計劃:測試計劃是JMeter中的一個測試用例。它是JMeter在運行時執行的一係列步驟。每個測試計劃都由幾個測試元素以及性能測試所需的配置組成。測試計劃中的每個元素都用於特定的操作。JMeter GUI用於添加、刪除和配置測試計劃元素。JMeter的左側窗格用於添加測試計劃,而右側窗格用於配置它。一個完整的測試計劃由一個或多個組件組成,如線程組、邏輯控製器、示例生成控製器、偵聽器、計時器、斷言和配置元素。每個測試計劃中至少應該有一個線程組。
工作台:它是存儲元素的臨時場所。工作台與測試計劃沒有關係。JMeter不保存工作台的內容。JMeter中隻保存測試計劃的內容。工作台的主要用途是存儲要複製粘貼到測試計劃中的值。
構建測試計劃:
1)添加一個元素:
右鍵單擊測試計劃→添加→選擇要添加的元素(例如線程組)
2)從文件中添加測試元素/加載元素-
一個元素也可以通過從文件中加載它並選擇merge或open選項來添加。加載的元素默認情況下不會被JMeter保存。必須通過選擇“save selection as”選項顯式地保存加載的元素。
3)刪除一個元素:
要刪除一個元素,選擇該元素,右鍵單擊它並選擇刪除。
4)配置測試元素:
在使用右側麵板中的控件添加測試元素之後,可以對它們進行配置。
圖-配置一個線程組,使用10個用戶,遞增時間為100秒,循環計數為1,並在出錯時繼續執行。
5)保存測試計劃:
測試計劃可按以下方式保存:文件→另存或文件→另存為。
6)運行測試計劃:(Control+R)
我們可以從下麵的兩個選項中選擇任意一個來運行測試計劃。
- 點擊頂部菜單中的播放按鈕。我們還可以通過選擇“播放無暫停”按鈕來選擇開始測試並忽略暫停。
b.在“運行”菜單項中單擊“開始”。
圖-從Run菜單啟動測試
當一個測試開始運行時,它會在右端顯示一個綠色按鈕。綠色按鈕左側的數字分別表示本地運行時的活動線程和總線程。這不會顯示已在遠程機器上使用客戶機-服務器模式啟動的線程。
7)停止測試計劃:
可以通過以下方式停止測試:
a) Stop - (Control +.)將立即停止線程。
b) Shutdown- (Control+,)將在當前工作結束時停止。這不會中斷活動樣本。
8)禁用測試計劃——可以從執行中禁用測試計劃。
右鍵單擊測試計劃名稱→單擊禁用
測試計劃要素:
每個JMeter測試計劃由測試元素組成。測試計劃必須至少有一個線程組。在線程組中,可以有一個或多個元素的組合。下麵列出了常用的測試計劃元素。
- 線程組
- 控製器
- 聽眾
- 計時器
- 配置元素
- 預處理程序元素
- 後處理器元素
圖-描述測試計劃要素及其相互關係的流程圖
線程組:
線程組是JMeter在測試期間使用的一組線程。線程組元素是JMeter測試的起點。線程組用於在性能測試中模擬用戶操作。我們可以有多個線程組來模擬用戶在應用程序上執行的不同類型的操作。線程組麵板用於配置線程組。
名稱——它是線程組的名稱,建議用戶執行的操作。
Comments -這是一個可選的文本框,用於添加特定於線程組的任何注釋或評論。
- 線程數:這用於模擬連接到服務器的用戶或連接的數量
- 啟動周期(秒):JMeter啟動所有線程所需的時間。
- 循環計數:迭代的次數,這是一個測試將要執行的次數。
- 錯誤行為:發生錯誤時該怎麼做:停止當前線程,停止整個測試或繼續。
- 調度器複選框-一旦選中,調度器配置部分出現在控製麵板的底部,我們可以在那裏配置測試的開始和結束時間
- 調度器配置——用於配置運行測試的開始和結束時間。
- 線程組還允許我們指定線程的生存期。還可以配置Duration(秒)和Startup Delay(秒)來管理每個線程組的持續時間以及它啟動後的秒數。當測試啟動時,JMeter將等待到啟動延遲(秒)中定義的時間,然後啟動線程組的線程,並運行配置的持續時間(秒)時間。
一旦配置了線程組,其他測試計劃元素就可以添加到創建的線程組中,比如采樣器、偵聽器和計時器。
圖- JMeter中的線程組界麵
在JMeter中創建線程組:
右鍵單擊測試計劃→添加→線程(用戶)→線程組
圖-創建一個線程組
命名一個線程組:
創建一個如上所述的線程組,並在右側麵板中添加name。
控製器:
JMeter支持兩種類型的控製器,分別是采樣器和邏輯控製器。
采樣:
采樣器用於向服務器發送請求並等待響應。采樣器允許JMeter向服務器發送特定類型的請求。采樣器根據提供的配置執行請求。采樣器按照它們在樹中定義的順序執行。控製器可用於定義采樣器請求應重複的次數。采樣器有不同的屬性可以設置。通過向測試計劃中添加配置元素,可以進一步修改采樣器。如果我們想多次將同一個請求發送到同一個服務器進行測試,那麼建議在這種情況下使用默認配置元素。如果希望對響應執行基本驗證,還可以向采樣器添加斷言。這些請求隨後產生響應,稍後進行分析。 Commonly used samplers are as below:
HTTP請求——HTTPS請求是基於web的應用程序中最流行的采樣器。我們使用這個采樣器發送HTTP/HTTPS請求到服務器。
JDBC請求——這個采樣器用於向數據庫服務器發送SQL查詢。
SOAP/XML-RPC請求——這個采樣器用於向SOAP web服務發送SOAP請求。
測試動作——這是一種特殊類型的采樣器,用於在測試中引入暫停。這個采樣器不向服務器發送請求
FTP請求——這個采樣器用於向FTP服務器發送文件放置和獲取請求。
下麵是JMeter提供的除上麵列出的采樣器之外的其他采樣器的列表。
- 美國/ 1.3取樣器
- 訪問日誌采樣器
- 淨水器取樣器
- BeanShell取樣器
- 調試取樣器
- JMS點對點
- JMS的出版商
- JMS用戶
- JSR223取樣器
- JUnit請求
- Java要求
- LDAP擴展請求
- LDAP請求
- 郵件閱讀器采樣器
- 操作係統進程采樣器
- SMTP取樣器
- TCP取樣器
- 測試取樣器
- WebService (SOAP)請求
每個采樣器的配置取決於它執行的請求。將采樣器添加到線程組,如下所示:
在線程組中添加采樣器:
右鍵單擊線程組→添加→采樣器→(根據需要)
采樣器的例子——當我們需要對HTTP服務進行POST、GET或DELETE操作時,可以添加HTTP請求采樣器。
圖-向線程組中添加采樣器