Jmeter 元件及其執行順序和作用域

Jmeter 元件

0.Test Plan (測試計劃):用來描述一個性能測試,包含與本次性能測試所有相關的功能。也就說本性能測試的所有內容是於基於一個計劃的。
1.線程組 :場景的起始點,設置多少用戶併發,什麼時候開始跑,跑多久。
2.控制器 :包括循環控制器和Logical Controllers。
3.配置元件:對samplers進行配置,避免重複內容。
4.定時器 :請求之間的暫停。
5.前置處理器 :運行在Sampler之前,多用於設置sampler,和更新從上一個響應獲得的變量值。
6. sampler:是指真正的請求,jmeter腳本中必須要包括sampler
7. 後置處理器:運行在Sampler之後,多用於對響應數據的處理。
8. 斷言:驗證服務器返回的信息是否正確。
9. 監聽器: 收集測試用例運行信息,例如響應時間,請求和響應的詳細信息。

Jmeter 元件執行順序

執行順序:
1.配置元件
2.前置處理器
3.定時器
4.取樣器(Sampler)
5.後置處理器
6.斷言
7.監聽器
備註:只有有sampler 的時候,定時器,斷言,前置/後置處理器纔會被運行, 邏輯控制器和 Samplers 按它們在樹裏的排列順序執行,其他測試元件的執行是根據它們的範圍和元素類型(同種類型,按樹上的順序執行)。

舉例:假如測試計劃如下結構:

  • Controller
    Post-Processor 1
    Sampler 1
    Sampler 2
    Timer 1
    Assertion 1
    Pre-Processor 1
    Timer 2
    Post-Processor 2

以上的執行順序爲:
Pre-Processor 1
Timer 1
Timer 2
Sampler 1
Post-Processor 1
Post-Processor 2
Assertion 1

Pre-Processor 1
Timer 1
Timer 2
Sampler 2
Post-Processor 1
Post-Processor 2
Assertion 1

Jmeter 元件的作用域

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

  1. 採樣器:元件不和其它元件相互作用,因此不存在作用域的問題。
  2. 邏輯控制器:元件只對其子節點中的取樣器 和 邏輯控制器作用。
  3. 除採樣器 和 邏輯控制器 元件外,其他6類元件,如果是某個sampler的子節點,則該元件只對其父子節點起作用。
  4. 除採樣器和邏輯控制器元件外的其他6類元件,如果其父節點不是sampler ,則其作用域是該元件父節點下的其他所有後代節點(包括子節點,子節點的子節點等)。

備註:
1.用戶定義的變量該元件定義的變量是全局變量,不論放哪裏都是作用所有域。
2.配置元件Header Manager、Cookie Manager和Authorization Manager的處理方式與配置默認元素不同。來自配置默認元素的設置被合併到採樣器可以訪問的一組值中。但是,不會合並以上Manager中的設置。如果一個採樣器的作用域中有多個管理器,則只使用一個管理器,但目前無法指定使用哪個管理器。

舉例1:假如有以下測試計劃

image

斷言#1僅應用於請求1,而斷言#2應用於請求2和3。

舉例2:假如有以下測試計劃

image

在本例中,將命名請求以反映它們將執行的順序。Timer#1將應用於請求2、3和4(注意順序與層次元素無關)。斷言#1將僅應用於請求三。Timer#2將影響所有請求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章