邏輯控制之IF條件控制器
測試環(huán)境
JMeter-5.4.1
循環(huán)控制器介紹
添加While Controller
右鍵線程組->添加->邏輯控制器->While控制器
控制器面板介紹
添加后,面板如下
僅Expression值為true,才會執(zhí)行位于其下的操作
最好勾選(默認(rèn)配置)Interpret Condition as Variable Expression?,這樣Expression輸入框可以有兩種輸入選擇:
- 輸入一個值為true 或者false的變量
比如,如果你想測試,最后一個采樣器執(zhí)行是否成功,可以輸入${JMeterThread.last_sample_ok}
- 輸入對bool表達(dá)式求值的函數(shù)(建議使用${__jexl3()},當(dāng)然也可以用支持__groovy) ,形如
${__jexl3(${COUNT} < 10 && "${VAR}" == "abcd",)}
例如,沒勾選上述配置之前,使用條件:KaTeX parse error: Expected group after '_' at position 2: {_?_jexl3({VAR} == 23)},該條件計(jì)算結(jié)果(true或者false)會被傳遞給JavaScript,最后由JavaScript反回該結(jié)果值。勾選上述配置之后,會將該條件計(jì)算結(jié)果直接與true比較,不需要使用JavaScript.
檢測變量是否為定義或者為null,可以采用以下表達(dá)式,假設(shè)變量命名為 myVar:
${__jexl3("${myVar}" == "\${myVar}")}
或者:
${__jexl3("${myVar}" != "\${myVar}")}
如果不勾選 Interpret Condition as Variable Expression? 控制器會使用javascript計(jì)算表達(dá)式,這會帶來很大的性能消耗,并且降低測試的擴(kuò)展性。
Evaluate for all children
如果勾選,則執(zhí)行其下所有子組件時都會重新計(jì)算條件值,否則僅在進(jìn)入控制器時時進(jìn)行計(jì)算
示例:如下圖,If Controller條件為KaTeX parse error: Expected group after '_' at position 2: {_?_jexl3("{myVar}" == “${myVar}”)},執(zhí)行HTTP Request1之前沒有設(shè)置myVar變量。
沒勾選Evaluate for all children之前,運(yùn)行時,HTTP Request2也會被執(zhí)行,反之,HTTP Request2不會被執(zhí)行。
例子(JavaScript)
- ${COUNT} < 10
- “${VAR}” == “abcd”
如果在解釋代碼時出錯,那么條件結(jié)果值會被設(shè)置為false
當(dāng)使用__groovy時,注意不要在字符串中使用變量替換,形如KaTeX parse error: Expected group after '_' at position 2: {_?_groovy("{myVar}" == 1)},否則使用了改變腳本的變量不能被緩存。取而代之,使用vars.get(“myVar”),參見下文
例子(Variable Expression)
- ${__groovy(vars.get(“myVar”) != “Invalid” )} (檢查myVar變量是否等于Invalid)
- ${__groovy(vars.get(“myInt”).toInteger() <=4 )} (檢查myInt變量是否小于等于4)
- ${__groovy(vars.get(“myMissing”) != null )} (檢查是否設(shè)置了myMissing變量)
- KaTeX parse error: Expected group after '_' at position 2: {_?_jexl3({COUNT} < 10)}
- ${RESULT}
- ${JMeterThread.last_sample_ok} (檢查最后一個采樣器采樣是否成功)
現(xiàn)在我邀請你進(jìn)入我們的軟件測試學(xué)習(xí)交流群:【
746506216
】,備注“入群”, 大家可以一起探討交流軟件測試,共同學(xué)習(xí)軟件測試技術(shù)、面試等軟件測試方方面面,還會有免費(fèi)直播課,收獲更多測試技巧,我們一起進(jìn)階Python自動化測試/測試開發(fā),走向高薪之路。
喜歡軟件測試的小伙伴們,如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請 “點(diǎn)贊” “評論” “收藏” 一 鍵三連哦!
文章來源:http://www.zghlxwxcb.cn/news/detail-432280.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-432280.html
到了這里,關(guān)于JMeter 邏輯控制之IF條件控制器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!