美文网首页
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