一:元件的作用域
在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取樣器和 隨機控制器璧眠。
固定定時器 作用于 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 )
? ??????常用:固定定時器,高斯隨機定時器
(4)取樣器(Sampler)
(5)后置處理程序(Post-processors)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:正則表達式提取器
(6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:響應(yīng)斷言
(7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)
? ??????常用:查看結(jié)果樹熄赡,聚合報告
關(guān)于執(zhí)行順序姜挺,有兩點需要注意:
前置處理器、后置處理器和斷言等元件只能對 取樣器起作用彼硫,因此炊豪,如果在它們的作用域內(nèi)沒有任何取樣器,則不會被執(zhí)行拧篮。
如果在同一作用域范圍內(nèi)有多個同一類型的元件词渤,則這些元件按照它們在測試計劃中的上下順序一次執(zhí)行。