一:元件的作用域
在JMeter中,元件的作用域是靠測試計劃的的樹型結(jié)構(gòu)中元件的父子關(guān)系來確定的,作用域的原則是:
取樣器(sampler)元件不和其它元件相互作用,因此不存在作用域的問題。
邏輯控制器(Logic Controller)元件只對其子節(jié)點中的取樣器 和 邏輯控制器作用。
除取樣器和邏輯控制器元件外,其他6類元件,如果是某個sampler的子節(jié)點,則該元件會對其父子節(jié)點起作用。
除取樣器和邏輯控制器元件外,其他6類元件,如果其父節(jié)點不是sampler ,則其作用域是該元件父節(jié)點下的其他所有后代節(jié)點(包括子節(jié)點,子節(jié)點的子節(jié)點等)。
示例:

根據(jù)作用域原則,這些元件的作用域分別為:
HTTP請求 、FTP請求 、TCP取樣器、 JDBC Request 元件沒有作用域名概念。
循環(huán)控制器 的作用域為 FTP請求 、TCP取樣器和 隨機(jī)控制器。
固定定時器 作用于 HTTP請求 、 Uniform Random Timer 作用于所有取樣器。
響應(yīng)斷言 作用于JDBC Request 、 XML斷言作用于FTP請求 、TCP取樣和JDBC Request。
圖形結(jié)果 作用于FTP請求 、TCP取樣和JDBC Request 、聚合報告作用于所有取樣器。
二:執(zhí)行順序
(1)配置元件(config elements )
? ? ? ? 常用:CSV?Data?Set config,HTTP信息頭,HTTP?Cookies管理等
(2)前置處理程序(Per-processors)
? ? ? ? 常用:用戶參數(shù)
(3)定時器(timers )
? ??????常用:固定定時器,高斯隨機(jī)定時器
(4)取樣器(Sampler)
(5)后置處理程序(Post-processors)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:正則表達(dá)式提取器
(6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:響應(yīng)斷言
(7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:查看結(jié)果樹,聚合報告
關(guān)于執(zhí)行順序,有兩點需要注意:
前置處理器、后置處理器和斷言等元件只能對 取樣器起作用,因此,如果在它們的作用域內(nèi)沒有任何取樣器,則不會被執(zhí)行。
如果在同一作用域范圍內(nèi)有多個同一類型的元件,則這些元件按照它們在測試計劃中的上下順序一次執(zhí)行。