美文网首页
jmeter循环控制器的总结(二)

jmeter循环控制器的总结(二)

作者: Kingtester | 来源:发表于2020-03-31 19:25 被阅读0次

1,如果(If)控制器

常用控制器之一,主要对条件进行判断,为true才执行,false则不执行。

image.png
if逻辑控制器控件中最重要就是Expression(must evaluate true or false)输入框,此处需要写入需要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,因此我们需要借助其他模块或者函数将需要进行判断的表达式(如 {var}== 5这样的表达式写入Expression中是无效的。
从该控制器提示的信息中,可以借助__jexl3或者__groovy函数来计算表达式的值
如图所示:
image.png
image.png
可以看到并没有运行。
image.png image.png image.png image.png

JEXL Expression to evaluate:此处直接填写需要进行判断的表达式即可

表达式支持:

==   是否等于,如{__jexl3({VAR}==1,)},判断${VAR}变量是否等于1

!=  不等于,如{__jexl3({VAR}!=1,)},判断${VAR}变量是否不等于1

!  非,如{__jexl3(!({VAR}!=1),)}对${VAR}!=1的结果取反

&&或||  且与或,如 {__jexl3({VAR}==1 && ${name} != "heima",)}

或者>== 大于等于,如{__jexl3({count}>=10,)}

image.png

重点来了


image.png

以上四种方法只能判断数学关系和字符串是否等于或者不等于,那么怎么判断字符串是否包含的关系的呢??这种判断在实际使用中会有很高的频率,可惜网上资料并不是很多。
咱们可以这样,indexOf()函数


image.png
原理是这个函数可以返回字符串的位置,如果>=0,说明就被包含,如果返回的是 -1,那就说明不包含

2,While控制器

常用控制器之一。用作循环的控制器里, 最常用的就’循环控制器’和’While控制器’. 循环控制器仅能定义循环次数(永远和自定义次数). 缺乏判断能力.While控制器正好弥补了这方面的不足, 既能循环又能逻辑判断, 让我们进入实例吧.
.1首先我们来添加While控制器, 可以看到仅有一个Condition条件


image.png

我们先不加任何判断,执行。


image.png
可以看到他的循环次数就是线程组的循环测试。
那怎么能够利用While的判断来控制呢? 继续往下看.
1,在http请求中为运行次数赋值
image.png

2,在while条件判断中判断


image.png
3,运行:
image.png

这里要注意:if如果控制前里面可以判断ture 或者fasle就好了,例如1==1。但是while必须是对变量或者函数返回值进行判断的ture或者false。

4,ForEach控制器

字面意思为一遍一遍的循环设置的变量。常用场景可以如下:
用户设置了不少变量,咱们需要每次请求使用一次变量:


image.png

我们使用ForEach控制器来操作:


image.png
运行结果查看:
循环运行,并且每次都取到了变量的值
image.png
image.png

相关文章

网友评论

      本文标题:jmeter循环控制器的总结(二)

      本文链接:https://www.haomeiwen.com/subject/cfyguhtx.html