jmeter主要元件介紹
jmeter在測試計劃--新增中分別有執行緒組、配置元件、定時器、前置處理器、後置處理器及斷言和監聽幾類元件。
接下來,主要介紹下每類元件包含內容和使用場景:
一 執行緒組
一系列執行緒的集合,每個執行緒代表著一個正在使用應用程式的使用者。在jmeter中,每個執行緒意味著模擬一個真實使用者向伺服器傳送請求。
- 名稱和註釋就不解釋了
- 執行緒數:就是你需要模擬的併發路數,即多少個使用者同時訪問系統
- Ramp-Up Period(in-seconds)代表隔多長時間執行,0代表同時併發
- 迴圈次數:執行緒組順序執行幾次,勾選永遠的話就不用填寫次數
-
Delay Thread creation until needed:延遲建立執行緒,直到該執行緒開始取樣,即之後的任何執行緒組延遲和加速時間為執行緒本身。這樣可以支援更多的執行緒,但不會有太多是同時處於活動狀態。
-
排程器:選中排程器後,需要輸入啟動和結束時間。當測試啟動時,如果必須JMeter會等待啟動時間到達。在每個週期 結束,JMeter檢驗結束時間是否到達,如果是,執行停止,如果不是測試被允許繼續,直到迭代限制到達。
另外你可以使用啟動延遲和持續時間文字域。注意啟動延遲會覆蓋啟動時間,持續時間會覆蓋結束時間。
二 配置元件(比較常用的)
CSV Data Set Config:在引數化的時候使用,通過讀取指定檔案中的引數值來實現引數化
HTTP cookie manager:該屬性管理器用於管理Test Plan執行時的所有Cookie。HTTP Cookie Manager可以自動儲存伺服器傳送給客戶端的所有Cookie,並在傳送請求時附加上合適的Cookie
HTTP Header Manager:該屬性管理器用於定製Sampler發出的HTTP請求的請求頭的內容。不同的瀏覽器發出的HTTP請求具有不同的Agent,訪問某些有防盜鏈的頁面時需要正確的Refer...這些情況下都需要通過HTTP Header Manager來保證傳送的HTTP請求是正確的,一般加在每個取樣器下
HTTP Request Defaults:該屬性管理器用於設定其作用範圍內的所有HTTP的預設值,可被設定的內容包括HTTP請求的host、埠、協議等。一般設定線上程組下
三 定時器
定時器的作用域
1、定時器是在每個sampler(取樣器)之前執行的,而不是之後(無論定時器位置在sampler之前還是下面);
2、當執行一個sampler之前時,所有當前作用域內的定時器都會被執行;
3、如果希望定時器僅應用於其中一個sampler,則把定時器作為子節點加入;
4、如果希望在sampler執行完之後再等待,則可以使用Test Action;
比較常用的有固定定時器:
如果需要每個步驟均延遲,則將定時器放在與請求持平的位置,若只針對一個請求延遲,則將定時器放在該請求子節點中。
如果你需要讓每個執行緒在請求之前按相同的指定時間停頓,那麼可以使用這個定時器;需要注意的是,固定定時器的延時不會計入單個sampler的響應時間,但會計入事務控制器的時間。
四:處理器
分前置處理器和後置處理器
五 斷言
驗證伺服器返回的資料是否滿足我們的要求,以保證效能測試過程的資料互動與預期一致
六 監聽器
通過不同形式記錄執行結果,常用的有檢視結果樹、聚合報告和圖形結果
&n