0.test plan (測試計畫):用來描述乙個效能測試,包含與本次效能測試所有相關的功能。也就說本效能測試的所有內容是於基於乙個計畫的。
1.執行緒組 :場景的起始點,設定多少使用者併發,什麼時候開始跑,跑多久。
2.控制器 :包括迴圈控制器和logical controllers。
3.配置元件:對samplers進行配置,避免重複內容。
4.定時器 :請求之間的暫停。
5.前置處理器 :執行在sampler之前,多用於設定sampler,和更新從上乙個響應獲得的變數值。
6. sampler:是指真正的請求,jmeter指令碼中必須要包括sampler
7. 後置處理器:執行在sampler之後,多用於對響應資料的處理。
8. 斷言:驗證伺服器返回的資訊是否正確。
9. ***: 收集測試用例執行資訊,例如響應時間,請求和響應的詳細資訊。
執行順序:
1.配置元件
2.前置處理器
3.定時器
4.取樣器(sampler)
5.後置處理器
6.斷言
7.***
備註:只有有sampler 的時候,定時器,斷言,前置/後置處理器才會被執行, 邏輯控制器和 samplers 按它們在樹里的排列順序執行,其他測試元件的執行是根據它們的範圍和元素型別(同種型別,按樹上的順序執行)。
舉例:假如測試計畫如下結構:
以上的執行順序為:
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
元件的作用域是靠測試計畫的的樹型結構中元件的父子關係來確定的,作用域的原則是:
取樣器:元件不和其它元件相互作用,因此不存在作用域的問題。
邏輯控制器:元件只對其子節點中的取樣器 和 邏輯控制器作用。
除取樣器 和 邏輯控制器 元件外,其他6類元件,如果是某個sampler的子節點,則該元件只對其父子節點起作用。
除取樣器和邏輯控制器元件外的其他6類元件,如果其父節點不是sampler ,則其作用域是該元件父節點下的其他所有後代節點(包括子節點,子節點的子節點等)。
備註:1.使用者定義的變數該元件定義的變數是全域性變數,不論放**都是作用所有域。
2.配置元件header manager、cookie manager和authorization manager的處理方式與配置預設元素不同。來自配置預設元素的設定被合併到取樣器可以訪問的一組值中。但是,不會合併以上manager中的設定。如果乙個取樣器的作用域中有多個管理器,則只使用乙個管理器,但目前無法指定使用哪個管理器。
舉例1:假如有以下測試計畫
斷言#1僅應用於請求1,而斷言#2應用於請求2和3。
舉例2:假如有以下測試計畫
在本例中,將命名請求以反映它們將執行的順序。timer#1將應用於請求2、3和4(注意順序與層次元素無關)。斷言#1將僅應用於請求三。timer#2將影響所有請求。
Jmeter八大元件及其執行順序
初步接觸jmeter,對比loadrunner進行熟悉,畢竟我對loadrunner還是比jmeter熟悉。用來提供對靜態資料配置的支援。例csv data set config可以將本地資料檔案形成資料池 date pool 用於操作之間設定等待時間,等待時間是效能測試中常用的控制客戶端qps的手...
jmeter元件的執行順序
元件的執行順序 在同一作用域範圍內,test plan中的元件按照以下順序執行 1 config elements 配置元件 2 pre porcessors 前置處理器 3 timer 定時器 4 sampler 取樣器 5 post porcessors 後置處理器 6 assirtions 斷...
Jmeter元件執行順序與作用域
一 jmeter重要元件 1 配置元件 config element 用於初始化預設值和變數,以便後續取樣器使用。配置元件大其作用域的初始階段處理,配置元件僅對其所在的測試樹分支有效,如,在同乙個作用域的任何取樣器前。2 前置處理器 pre processors 前置處理器會在取樣器發出請求之前做一...