JMeter元件的作用域與執行順序

2021-08-07 14:51:30 字數 2589 閱讀 3030

jmeter元件的作用域

jmeter元件:

取樣器sampler、邏輯控制器logic controller、配置元件 config elements、定時器 times、

前置處理器 per-processors、後置處理器post-processors、斷言assertions、***listener

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

1.取樣器(sampler)元件不和其它元件相互作用,因此不存在作用域的問題。

2.邏輯控制器(logic controller)元件只對其子節點中的取樣器和邏輯控制器作用。

3.除取樣器和邏輯控制器元件外,其他6類元件,如果其父節點是sampler

,則該元件只對其父子節點起作用。

4.除取樣器和邏輯控制器元件外,其他6類元件,如果其父節點不是sampler,則其作用域是該元件父節點下的其他所有後代節點(包括子節點,子節點的子節點等)。

a(注:下圖只是為了說明作用域,無法正常執行)

取樣器(http請求1 、ftp請求2 、tcp取樣器3) 邏輯控制器(迴圈控制器) ***(圖形結果1、聚合報告2)

1. http請求1 、ftp請求2 、tcp取樣器3 元件沒有作用域的概念。

2. 迴圈控制器 元件作用網域名稱是其子節點ftp請求2 、tcp取樣器3 。

3. 圖形結果1 元件的作用域是是ftp請求2 、tcp取樣器3。

4. 聚合報告2 元作的作用域是http請求1 、ftp請求2 、tcp取樣器3

b(注:下圖只是為了說明作用域,無法正常執行)

取樣器(http請求 、ftp請求 、tcp取樣器、 jdbc request )邏輯控制器(迴圈控制器、隨即控制器)定時器(固定定時器、uniform random timer )斷言(響應斷言、xml斷言)***(圖形結果、聚合報告)

1. http請求、ftp請求、tcp取樣器、 jdbc request 元件沒有作用網域名稱概念

2.迴圈控制器 的作用域為 ftp請求 、tcp取樣器和 隨即控制器;隨機控制器的作用域是jdbc request

3.固定定時器作用於 http請求 ,uniform random timer 作用於所有取樣器

4.響應斷言作用於jdbc request ,xml斷言作用於ftp請求 、tcp取樣和jdbc request 。

5. 圖形結果作用於ftp請求 、tcp取樣和jdbc request ,聚合報告作用於所有取樣器。

其實,通過上面的分析,並沒有你想象的那麼複雜,我們從各個元件的層次結構就可以判斷每個元件的作用域。

jmeter 中的配置元件(config elements)在其作用範圍內的行為與其他元件相比稍有不同。配置元件分兩大類:預設配置(http預設請求、ftp預設請求等)和管理(http 頭管理、http cookie 管理等)。

其中預設配置(configuration defaults)元件中設定的值可以在作用域內疊加,例如,在乙個測試計畫中新增兩個http 預設請求,其中第乙個預設設定 server name or ip 為www.google.com ,第二個預設設定path 為/page-not-exist , 則在這兩個元件作用域內的所有http 預設請求,其預設的server name or ip 和path 均為server name or ip 和 /page-not-exist 。(你有乙個故事,我有乙個笑話,我們一交換,兩個人都分別擁有了乙個故事加乙個笑話。)

管理(manager)類邏輯控制器元件的效果則不能進行疊加。如果兩個或兩個以上相同的管理類元件作用域有重疊。則在重疊作用域內的取樣器元件只會隨即受到其中乙個的作用,這樣會導致取樣器行為的不確定性。因此,在使用管理類邏輯控制器時,一定要注意保證相同的管理類元件的作用域不發生重疊。

元件的執行順序

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

(1)配置元件(config elements )

(2)前置處理程式(per-processors)

(3)定時器(timers )

(4)取樣器(sampler)

(5)後置處理程式(post-processors) (除非sampler 得到的返回結果為空)。

(6)斷言(assertions)(除非sampler 得到的返回結果為空)。

(7)***(listeners)(除非sampler 得到的返回結果為空)。

關於執行順序,有兩點需要注意:

1.前置處理器、後置處理器和斷言等元件只能對取樣器作用,因此,如果在它們的作用域內沒有任何取樣器,則不會被執行。

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

Jmeter元件執行順序與作用域

一 jmeter重要元件 1 配置元件 config element 用於初始化預設值和變數,以便後續取樣器使用。配置元件大其作用域的初始階段處理,配置元件僅對其所在的測試樹分支有效,如,在同乙個作用域的任何取樣器前。2 前置處理器 pre processors 前置處理器會在取樣器發出請求之前做一...

Jmeter 元件執行順序與作用域

一 jmeter重要元件 1 配置元件 config element 用於初始化預設值和變數,以便後續取樣器使用。配置元件大其作用域的初始階段處理,配置元件僅對其所在的測試樹分支有效,如,在同乙個作用域的任何取樣器前。2 前置處理器 pre processors 前置處理器會在取樣器發出請求之前做一...

Jmeter元件執行順序與作用域

一 jmeter重要元件 1 配置元件 config element 用於初始化預設值和變數,以便後續取樣器使用。配置元件大其作用域的初始階段處理,配置元件僅對其所在的測試樹分支有效,如,在同乙個作用域的任何取樣器前。2 前置處理器 pre processors 前置處理器會在取樣器發出請求之前做一...