回顧Jmeter壓力測試(二)
主要介紹的菜單為常用菜單,對于個人不常用的功能會進行忽略。

測試計劃菜單介紹
線程(使用者)
- 線程組:線程組元素是任何測試計劃的起點。所有控制器和采樣器必須線上程組下
- setUp Thread Group:一種特殊類型的ThreadGroup的,可用于執行預測試操作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試前進行定期線程組的執行。
- teardown thread group:一種特殊類型的ThreadGroup的,可用于執行測試後動作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試結束後執行定期的線程組。
這裡可能還是不太懂,可以參考junit的setup ,teardown
配置元件
配置元件(config element)用于提供對靜态資料配置的支援。CSV Data Set config 可以将本地資料檔案形成資料池(Data Pool),而對應于HTTP Request Sampler和 TCP Request Sampler等類型的配制無件則可以修改Sampler的預設資料。(例如,HTTP Cookie Manager 可以用于對 HTTP Request Sampler 的cookie 進行管理)
監聽器:
監聽器,顧名思義就是用來監聽測試結果的,可以看到對應的請求需要配置不同的監聽器。最常用的功能是 檢視結果樹,聚合報告等,在後續的功能介紹中會進行具體的使用:
定時器:
定時器個人沒有進行過實踐,略過。。。。。
前置處理器:
用于在實際的請求發出之前對即将發出的請求進行特殊處理。例如,HTTP URL重寫修複符則可以實作URL重寫,當RUL中有sessionID 一類的session資訊時,可以通過該處理器填充送出請求的實際的sessionID 。
後置處理器:
用于對Sampler 送出請求後得到的伺服器響應進行處理。一般用來提取響應中的特定資料(類似LoadRunner測試工具中的關聯概念)。例如,XPath Extractor 則可以用于提取響應資料中通過給定XPath 值獲得的資料。
斷言:
斷言用于檢查測試中得到的相應資料等是否符合預期,斷言一般用來設定檢查點,用以保證性能測試過程中的資料互動是否與預期一緻。
請注意,斷言适用于其範圍内的所有采樣器。要将聲明限制為單個采樣器,請将該聲明添加為采樣器的子代。
測試片段:
“測試片段”元素是一種特殊類型的控制器,它與線程組元素位于同一級别的“測試計劃”樹上。它與線程組的差別在于,除非子產品控制器或Include_Controller引用它,否則它不會執行。該元素僅用于測試計劃中的代碼重用
非測試元件:
可以在這裡找到對應的Http代理伺服器設定,可以配置http代理,友善進行代理伺服器進行并發測試。
各元件啟動順序:
- 配置元素
- 預處理器
- 計時器
- 取樣器
- 後處理器(除非SampleResult為
)null
- 斷言(除非SampleResult為
)null
- 偵聽器(除非SampleResult為
)null
請注意,計時器,斷言,預處理器和後處理器僅在有适用于其的采樣器時才進行處理。邏輯控制器和采樣器按照它們在樹中出現的順序進行處理。其他測試元素将根據其發現範圍和測試元素的類型進行處理。[在一個類型内,元素按照它們在樹中出現的順序進行處理]。
線程組的菜單介紹:
取樣器:
采樣器告訴JMeter将請求發送到伺服器并等待響應。它們按照在樹中出現的順序進行處理。控制器可用于修改采樣器的重複次數。
JMeter采樣器包括:
- FTP請求
- HTTP請求(也可用于SOAP或REST Web服務)
- JDBC請求
- Java對象請求
- JMS請求
- JUnit測試請求
- LDAP要求
- 郵件要求
- 作業系統程序請求
- TCP請求
切記在測試計劃中添加一個偵聽器,否則最終的結果是看不到的
邏輯控制器:
邏輯控制器使您可以自定義JMeter用于确定何時發送請求的邏輯,為了了解邏輯控制器對測試計劃的影響,考慮以下測試樹
- Test Plan
- Thread Group
- Once Only Controller
- Login Request (anHTTP Request)
- Load Search Page (HTTP Sampler)
- Interleave Controller
- Search "A" (HTTP Sampler)
- Search "B" (HTTP Sampler)
- HTTP default request (Configuration Element)
- HTTP default request (Configuration Element)
- Cookie Manager (Configuration Element)