Jmeter-逻辑控制器介绍2

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


猜你喜欢

转载自blog.csdn.net/hujyhfwfh2/article/details/80634116
今日推荐