jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一
邏輯控制器介紹
Jmeter邏輯控制可以對(duì)元件的執(zhí)行邏輯進(jìn)行控制,除Once only Controller僅一次控制器以外,其他控制器都可以可以嵌套其他種類的控制器,下面是jmeter5.3支持的控制器種類,我們分別對(duì)其進(jìn)行介紹
Simple Controller
Simple Controller用來指定一個(gè)執(zhí)行單元,他不改變元件的執(zhí)行順序,主要作用是用來組織采樣器和其他的邏輯控制器
簡單控制器只有名稱和注釋.
比如說我們可以用它組織模塊,在各個(gè)模塊里在進(jìn)行請求的發(fā)送,這樣看起來各模塊比較獨(dú)立,好維護(hù)一些。
Include Controller
Include Controller用來導(dǎo)入外部的測試片段,這個(gè)片段并不是完整的測試計(jì)劃,導(dǎo)入的這個(gè)測試計(jì)劃是不能有線程組的,只能包含簡單的控制器以及控制器下的元件。相當(dāng)于執(zhí)行了封裝了業(yè)務(wù)操作到的單元,相當(dāng)于將一些通用的功能邏輯封裝,在這里進(jìn)行調(diào)用。
Runtime Controller
用來控制器子元件的執(zhí)行時(shí)長,單位是秒
Switch Controller
Switch Controller條件控制器,類似于編程語言里的switch語句
比如由上圖的配置,Switch Controller下面有兩個(gè)java request,jmeter會(huì)給下面的java請求進(jìn)行編號(hào),第一個(gè)為0,第二個(gè)為1以此類推
如果上面switch Value設(shè)置0,那么第一個(gè)java request就會(huì)執(zhí)行。如果指定的編號(hào)超出了控制器下面的節(jié)點(diǎn)數(shù),或者沒有指定,則會(huì)默認(rèn)運(yùn)行第一個(gè)節(jié)點(diǎn)。
Switch Controller也可以指定取樣器的名稱,名稱匹配時(shí)大小寫以及空格都銘感,如果匹配不上則不運(yùn)行取樣器。
While Controller
While條件控制器,其節(jié)點(diǎn)下的元件將一直運(yùn)行知道while條件為false
Condition:接受表達(dá)式與變量,還可以輸入常量,也就是jmeter內(nèi)置的默認(rèn)值
LAST:當(dāng)循環(huán)前有取樣器失敗則不進(jìn)入循環(huán)
BLANK:當(dāng)循環(huán)中有取樣器失敗后停止
Otherwise:當(dāng)判斷條件為false停止循環(huán)
Interleave Controller
Interleave Controller交替控制器,其節(jié)點(diǎn)下的取樣器會(huì)交替執(zhí)行,
假設(shè)我們有如上的線程組和交替控制器的配置,線程組下面有一個(gè)請求3,交替控制器下面有請求1和請求2,線程組配置一個(gè)線程循環(huán)且循環(huán)三次,執(zhí)行以下我們來看看請求的執(zhí)行順序。
循環(huán)三次,總共有六個(gè)請求發(fā)出,也就是說每一次循環(huán)會(huì)執(zhí)行線程組下面的請求和交替控制器里的一個(gè)請求。
下篇文章我們將介紹剩余的邏輯控制器
總結(jié)
以上是生活随笔為你收集整理的jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《JS高级程序设计》PART3.对象基础
- 下一篇: 易写易库(EXEK)玩“花”儿之三:命令