1:如果(if)控制器
1.1:准备数据
1.1.1:如下图 准备两组http取样器 并且分别添加上Debug取样器
1.1.2:执行后我们发现第一组http取样器执行成功 Debug Sampler1的响应数据中JMeterThread.last_sample_ok=true
第二组http取样器执行失败Debug Sampler2的响应数据中JMeterThread.last_sample_ok=false
1.2:添加【如果(if)控制器】 先禁用 第二个http取样器和其他的Debug Sampler
条件:相当于Java if()中的条件 只要是true就会继续执行 如果条件判断false就不会执行
1.3:查看结果树 我们发现【如何(if)控制器】下的Debug sampler执行了
1.4:禁用第一个http sampler并启用第二个http sampler 执行。查看结果树发现【如果(if)控制器】下的Debug取样器没有执行。
2:While控制器
2.1:Condition参数的几种写法
2.1.1:什么都不写(会一直循环执行 知道执行到有fail跳出循环)
例1:失败的sampler在前面 成功的sampler在后面 这种情况会一直执行死循环
例2:成功的sampler在前面 失败的sampler在后面 执行到fail会跳出循环
2.1.2:Condition写LAST也会执行跟2.1.1一样的结果
2.1.3:Condition的另外几种写法
${VAR} - where VAR is set to false by some other test element
判断VAR的值什么时候为false的时候跳出循环
如下例子:
A:添加CSV文件如下
B:设置条件
C:查看结果树
${__javaScript(${C}==10)}
例:
A:运行函数助手 统计运行次数 记录在myValue这个变量中
B:添加条件为运行次数小于3
C:添加HTTP取样器 在这一步将运行次数的值赋值给myValue 下一步可以直接取myValue的值即可
D:查看结果树发现只循环运行3次就退出了
${__javaScript("${VAR2}"=="abcd")}
${_P(property)} - where property is set to "false" somewhere else
共同学习,写下你的评论
评论加载中...
作者其他优质文章