JMeter基礎(chǔ)之??元件的作用域與執(zhí)行順序
作者:
kazhang 發(fā)布時間:
[ 2017/7/11 15:36:07 ] 推薦標簽:
性能測試工具 Jmeter
根據(jù)作用域原則,這些元件的作用域分別為:
1. HTTP請求 、FTP請求 、TCP取樣器、 JDBC Request 元件沒有作用域名概念
2.循環(huán)控制器 的作用域為 FTP請求 、TCP取樣器和 隨即控制器
3.固定定時器作用于 HTTP請求 , Uniform Random Timer 作用于所有取樣器
4.響應(yīng)斷言作用于JDBC Request , XML斷言作用于FTP請求 、TCP取樣和JDBC Request 。
5. 圖形結(jié)果作用于FTP請求 、TCP取樣和JDBC Request ,聚合報告作用于作用于所有取樣器。
其實,通過上面的分析,并沒有你想象的那么復(fù)雜,我們從各個元件的層次結(jié)構(gòu)可以判斷每個元件的作用域。
Jmeter 中的邏輯控制器(Config Elements)在其作用范圍內(nèi)的行為與其他元件相比稍有不同。邏輯控制器元件分兩大類:默認配置(HTTP默認請求、FTP默認請求等)和 管理(HTTP 頭管理、HTTP cookie 管理等)。
其中默認配置(Configuration Defaults)元件中設(shè)置的值可以在作用域內(nèi)疊加,例如,在一個測試計劃中添加兩個HTTP 默認請求,其中第一個默認設(shè)置 Server name or IP 為www.google.com ,第二個默認設(shè)置Path 為/page-not-exist , 則在這兩個元件作用域內(nèi)的所有HTTP 默認請求,其默認的Server name or IP 和Path 均為Server name or IP 和 /page-not-exist 。(你有一個故事,我有一個笑話,我們一交換,兩個人都分別擁有了一個故事加一個笑話。)
管理(Manager)類邏輯控制器元件的效果則不能進行疊加。如果兩個或兩個以上相同的管理類元件作用域有重疊。則在重疊作用域內(nèi)的取樣器元件只會隨即受到其中一個的作用,這樣會導(dǎo)致取樣器行為的不確定性。因此,在使用管理類邏輯控制器時,一定要注意保證相同的管理類元件的作用域不發(fā)生重疊。
元件的執(zhí)行順序
了解了元件有作用域之后,來看看元件的執(zhí)行順序,元件執(zhí)行順序的規(guī)則很簡單,在同一作用域名范圍內(nèi),測試計劃中的元件按照如下順序執(zhí)行。
。1)配置元件(config elements )
(2)前置處理程序(Per-processors)
。3)定時器(timers )
(4)取樣器(Sampler)
。5)后置處理程序(Post-processors) (除非Sampler 得到的返回結(jié)果為空)。
。6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)。
。7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)。
關(guān)于執(zhí)行順序,有兩點需要注意:
1.前置處理器、后置處理器和斷言等元件公能對 取樣器作用,因此,如果在它們的作用域內(nèi)沒有任何取樣器,則不會被執(zhí)行。
2. 如果在同一作用域范圍內(nèi)有多個同一類型的元件,則這些元件按照它們在測試計劃中的上下順序一次執(zhí)行。