JMeter學習(三)元件的作用域與執行順序


1.元件的作用域

JMeter中共有8類可被執行的元件(測試計划與線程組不屬於元件),這些元件中,取樣器是典型的不與其它元件發生交互作用的元件,邏輯控制器只對其子節點的取樣器有效,而其它元件(config elements 、timers 、post-processors、assertions、listeners、)需要與取樣器(sampler)等元件交互。

配置元件(config elements  

  元件會影響其作用范圍內的所有元件。

前置處理程序(Per-processors)

  元件在其作用范圍內的每一個sampler元件之前執行。

定時器(timers )

  元件對其作用范圍內的每一個sampler 有效

后置處理程序(Post-processors)

  元件在其作用范圍內的每一個sampler元件之后執行。

斷言(Assertions)

  元件對其作用范圍內的每一個sampler 元件執行后的結果執行校驗。

監聽器(Listeners)

  元件收集其作用范圍的每一個sampler元件的信息並呈現。

在jmeter中,元件的作用域是靠測試計划的的樹型結構中元件的父子關系來確定的,作用域的原則是:

  •  取樣器(sampler)元件不和其它元件相互作用,因此不存在作用域的問題。
  •  邏輯控制器(Logic Controller)元件只對其子節點中的取樣器 和 邏輯控制器作用。
  •  除取樣器 和邏輯控制器 元件外,其他6類元件,如果是某個sampler的子節點,則該元件公對其父子節點起作用。
  •  除取樣器和邏輯控制器元件外的其他6類元件,如果其父節點不是sampler ,則其作用域是該元件父節點下的其他所有后代節點(包括子節點,子節點的子節點等)。

 

2.元件的執行順序

了解了元件有作用域之后,來看看元件的執行順序,元件執行順序的規則很簡單,在同一作用域名范圍內,測試計划中的元件按照如下順序執行。

(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