JMeter笔记八:逻辑控制器之如果(If)控制器、仅一次控制器、Switch控制器

本文主要记录如果(If)控制器、仅一次控制器和Switch控制器。

一、如果(If)控制器

只有条件满足时,才执行控制器下的元件。
下面举个简单的例子:先执行登录接口,登录成功后才执行查询接口。
在登录接口下添加后置处理器-正则表达式提取器来提取响应数据中的code值(code=0表示登录成功),将查询接口放在如果(If)控制器的下面,查询接口执行的条件就是code=0,如下图:
condition: 用于判断的表达式,可以是根据表达式获取的参数值,也可以是一个”${变量}”==”变量值”这样的表达式
Interpret Condition as Variable Expression?: 判断变量值是否等于字符串true(不区分大小写)即如果勾选则会判断表达式为true或者false,如果不勾选则需要自己写判断表达式;比如有个参数FOUND,如果勾选此项则表达式填${FOUND},如果不勾选则填“${FOUND}”==“true”;
Evaluate for all children?:如果选中这一项,则在每个此控制器下的采样器的执行前都会计算表达式;
执行结果如下:
由上图可见,code=0,满足条件,执行了查询接口。
 
二、仅一次控制器
顾名思义,只执行一次,一个线程不管循环多少次,其下的采样器只执行一次。常用于登录接口。
如果设置的线程数是2,循环次数是3,运行的时候其下的取样器会执行2次。
 
 
三、Switch控制器
Switch控制器通过给控制器中的Switch Value赋值,来指定运行哪个取样器。
有两种赋值方式:
(1)Switch Value填写数值。Switch控制器下的子节点从0开始计数,通过指定子节点的数值来确定执行哪个子节点。
(2)Switch Value直接填写子节点的名称来确定执行哪个子节点。如果指定的名称不存在时,不执行任何元素。
另外,当Switch Value为空时,默认执行第一个子节点。
这个控制器比较简单,这里就不在记录示例了。
 
posted @ 2019-12-11 11:03  阳光倾林  阅读(851)  评论(0编辑  收藏  举报