JMeter學習-005-JMeter 主要組件概要介紹及執行順序


本文將對 JMeter 主要組件(主要涉及 Threads(Users)、Test Fragment、邏輯控制器、配置元件、定時器、前置處理器、Sampler、后置處理器、斷言、監聽器 十大組件)進行概要介紹,詳細使用方法會在后續文章中陸續介紹,敬請惠顧參閱。組件如下所示:

零、測試計划

測試計划是測試的起點,同時也是其他所有組件的容器。

一、Threads(Users)-線程組

每個測試需求的必備組件,是用來模擬用戶並發的組件。JMeter 的每個任務都是用線程來處理的。線程組界面如下所示:

線程數:請求並發的數量

Ramp-Up Period(in seconds):在多少秒內創建線程數中定義的所有線程。每秒並發數 = 線程數/RUP

循環次數:當前線程組中的測試腳本循環運行次數

PS:Threads(Users)下還有兩個線程組:setUp Thread Group(線程組運行前執行,主要用於初始化操作,類似於JUnit/TestNG的setUp)、tearDown Thread Group(線程組運行后執行,主要用於數據清理,類似於JUnit/TestNG的tearDown),此兩個線程組在后續實例中再詳細介紹。

二、Test Fragment

界面如下所示。暫時沒有用過(^_^),后續介紹。

三、邏輯控制器

邏輯控制器可以組織取樣器,做出復雜的測試用的HTTP請求,以此滿足測試需要。邏輯控制器如下所示:

四、配置元件

配置元件,同其名字一樣,只是配置一些默認的屬性和信息,供取樣器獲取所需要的各種配置信息,它不向服務器發送任何的請求。配置元件僅對其所在的測試樹分支有效。例如,HTTP請求默認值設置了服務器的名稱,那么它所在的測試分支內的HTTP請求的服務器名稱都是這個服務器,HTTP請求僅設置路徑就可以訪問網頁了。常用的配置如下圖框中所示元件:

PS:在執行順序方面有個例外,配置元件"用戶定義的變量"無論它處於測試樹的哪個位置,總是在測試的初始階段執行。所以個人建議把它放在線程組的開始部分。

五、定時器

定時器設置請求間的時間間隔。定時器類型如下所示:

六、前置處理器

前置處理器一般用來在發出請求(Request)前進行特殊的處理。例如:HTTP URL重寫修復符則可以實現URL重寫,當RUL中有sessionID 一類的session信息時,可以通過該處理器填充發出請求的實際的sessionID 。

七、Sampler

Sampler(取樣器)主要的執行組件。每一個取樣器都可以被監聽器監聽,並生成測試結果。采樣器也就是發送一個具體的請求到指定服務器,等待服務器的請求。通常情況下,采樣器會按照其在測試樹中的順序去執行,但是也會根據邏輯控制器來改變運行的次數和順序。取樣器列表如下所示:

八、后置處理器

后置處理器一般用來對采樣器發出請求后得到的服務器響應(Response)進行處理,一般用來提取響應中的特定數據。例如,XPath  Extractor:可以提取響應數據中通過給定XPath 值獲得的數據;正則表達式提取器:可以利用正則表達式方便的提取測試時所需的數據,用以參數傳遞和斷言等。后置處理器列表如下:

九、斷言

斷言,判斷取樣器是否正常工作,判斷請求響應是否正確,判斷結果是否符合預期。

十、監聽器

監聽器主要用於收集整理測試結果,並將測試結果數據進行處理並展示出來,可以指定格式生成XML、CSV等形式的文件。查看結果樹,用表格查看結果,圖形結果...聚合報告等,都是我們經常會用到的元件。

 

組件執行順序(此順序參考網上的資料,若有錯誤之處,敬請大神指正,非常感謝):

在同一作用域名范圍內(不考慮邏輯控制器),測試計划中的元件按照如下順序執行。
(1)配置元件(config elements )
(2)前置處理程序(Per-processors)
(3)定時器(timers )
(4)取樣器(Sampler)
(5)后置處理程序(Post-processors) (除非Sampler 得到的返回結果為空)
(6)斷言(Assertions)(除非Sampler 得到的返回結果為空)
(7)監聽器(Listeners)(除非Sampler 得到的返回結果為空)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM