JMeter while控制器與計數器的使用


while控制器:其節點下的元件將一直運行,直到while的條件(Condition)為false。

Condition的取值情況:
1)為空(不輸入任何值):直到某次sample執行失敗才會退出循環(例如while控制器中有3個sample,其中一個執行失敗就退出循環)
2)LAST:直到最后一個sampler請求失敗,才會退出循環(例如while控制器中有3個sampler,直到第3個sampler執行失敗才退出循環)
3)其他:條件為false(等同於輸入框中輸入false)時,退出循環(條件可以是變量或函數,這允許根據需要使用jexl3、groovy函數,屬性或變量)
${var_name}:變量var_name的值為false時,退出循環
${var_name}3:變量var_name的值為3時,進入循環
{__P(property)}:當變量property為true時進入循環
${__jexl3({number}
3)}:當number3時,進入循環
${__javaScript(${key}!="0"&&"${number}"<"3")}:當key!="0"且number<3時,進入循環
${__javaScript(${key}
"null")}:當key為空時,進入循環

計數器:允許用戶創建一個在線程組之內都可以被引用的計數器,計數器使用long存儲的值,所以取值范圍是 -2^6 ~ 2^63-1。

starting value:初始值,第一次迭代時,會把該值賦給計數器
遞增:每次迭代后,給計數器增加的值
maximum value:計數器的最大值,如果超過最大值,重新設置為初始值,默認為2^63-1
數字格式:例如可以格式化為001、002,默認Long.toString()
引用名稱:保存的變量名
與每個用戶獨立的跟蹤計數器:如果不勾選,則為全局的計數器
在每個線程組上重置計數器:僅勾選“與每用戶獨立的跟蹤計數器”時可用。如果勾選,則每次線程組迭代,都會重置計數器的值,當線程組是在一個循環控制器內時比較有用。

while控制器與計數器組合使用(避免死循環)
場景:登錄失敗后,重新登錄,最多重復執行3次(key從用戶登錄接口的返回結果中取,key為0時登錄成功)



備注:因為進入循環后,計數器才開始計數,到第3次循環之前,計數器的值為。進入第3次循環后,計數器的值為3。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM