jmeter(六)元件的作用域與執行順序

2021-08-31 23:27:01 字數 1805 閱讀 6213

jmeter是乙個開源的效能測試工具,它可以通過滑鼠拖拽來隨意改變元件之間的順序以及元件的父子關係,那麼隨著它們的順序和所在的域不同,它們在執行的時候,也會有很多不同。

jmeter的test plan通過圖形化的方式表達指令碼,域**方式的指令碼不同,圖形方式表達的指令碼中無法使用變數和函式等描述元件的作用域,因此jmeter主要依靠test plan中元件的相對位置、

父子關係以及元件本身的型別來決定test plan中各元件的執行順序;原件在test plan中的位置不同,可能導致該元件的行為有很大差異。

1、元件的作用域

jmeter中共有8類可被執行的元件(test plan和thread group不屬於元件),其中,sampler(取樣器)是不與其他元件發生互動的作用的元件,logic controller

(邏輯控制器)只對其子節點的sampler有效,而其他元件需要與sampler等元件互動。

config elements(配置元件):影響其範圍內的所有元件

pre-porcessors(前置處理器):在其作用範圍內的每乙個sampler元件之前執行

timer(定時器):對其作用範圍內的每乙個sampler有效

post-porcessors(後置處理器):在其作用範圍內的每乙個sampler元件之後執行

assirtions(斷言):對其作用範圍內的每乙個sampler元件執行後的結果執行校驗

listener(***):收集其作用範圍內的每乙個sampler元件的資訊並且呈現出來

在jmeter中,元件的作用域是靠test plan的樹形結構中元件的父子關係來確定的,其原則如下:

1)sampler不與其他元件相互作用,因此不存在作用域問題

2)logic controller只對其子節點中的sampler和logic controller作用

3)除sampler和logic controller外的其他元件,如果是某個sampler的子節點,則該元件僅對其父節點作用

4)除sampler和logic controller外的其他元件,如果其父節點不是sampler,則其作用域是該元件父節點下的其他所有後帶節點(包括子節點,子節點的子節點等)

2、元件的執行順序

在同一作用域範圍內,test plan中的元件按照以下順序執行:

1)config elements

2)pre-porcessors

3)timer

4)sampler

5)post-porcessors(除非sampler得到的返回結果為空)

6)assirtions(除非sampler得到的返回結果為空)

7)listener(除非sampler得到的返回結果為空)

注意:pre-porcessors、post-porcessors和assirtions等元件僅對sampler作用,如在它們作用域內沒有任何sampler,則不會被執行;

如果在同一作用域範圍內有多個同一型別的元件,則這些元件按照它們在test plan中的上下順序依次執行。

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

1.元件的作用域 jmeter中共有8類可被執行的元件 測試計畫與執行緒組不屬於元件 這些元件中,取樣器是典型的不與其它元件發生互動作用的元件,邏輯控制器只對其子節點的取樣器有效,而其它元件 config elements timers post processors assertions list...

JMeter系列之三元件的作用域與執行順序

1.元件的作用域 jmeter中共有8類可被執行的元件 測試計畫與執行緒組不屬於元件 這些元件中,取樣器是典型的不與其它元件發生互動作用的元件,邏輯控制器只對其子節點的取樣器有效,而其它元件 config elements timers post processors assertions list...

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

1.元件的作用域 jmeter中共有8類可被執行的元件 測試計畫與執行緒組不屬於元件 這些元件中,取樣器是典型的不與其它元件發生互動作用的元件,邏輯控制器只對其子節點的取樣器有效,而其它元件 config elements timers post processors assertions list...