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