其他分享
首页 > 其他分享> > jmeter5.2版本 配置元件之逻辑控制器详解

jmeter5.2版本 配置元件之逻辑控制器详解

作者:互联网

1、简单控制器(Simple Controller)

作用:将多个请求放置在一起,但是没有逻辑上的操作,进行一个简单的分组,一般是由于分组后的请求需要进行统一的某个操作或者存在共同的因素。在简单控制器下可添加http请求,也可添加其他控制器组合使用。

 

2、循环控制器(Loop Controller)

作用:指定其子节点运行的次数,可以使用具体的数值(如下图,设置为5次),也可以使用变量值。

通过变量的方式定义循环次数:

引用定义的变量:实现变量循环。

如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的子节点运行的次数为两个数值相乘的结果:

验证1:结果为乘积:

验证2:

 

3、仅执行一次控制器(Once Only Controller)

作用:在测试计划执行期间,该控制器下的子节点对每个线程只执行一次,登录场景经常会使用到这个控制器。

在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录场景经常会使用到这个控制器。

将Once Only Controller作为Loop Controller的子节点,在线程组循环下Once Only Controller在每次循环的第一次迭代时均会被执行。

 

4、循环控制器(ForEach Controller)

作用:ForEach控制器一般和用户自定义变量一起使用,其在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。与循环控制器(Loop Controller)相比虽然都是循环控制器,但不同的是循环控制器(Loop Controller)的循环次数是事先知道的指定的,而循环控制器(ForEach Controller)的循环次数是与变量以及配置项设置有关。关于设置项详细说明:

 也可以听过指定用户自定义变量中下标的方式:

 

5、事务控制器(Transaction Controller)

作用: 事务控制器会生产一个额外的采样器,用来统计该控制器子结点的所有时间。关于设置项详细说明:

 

 注意:上述说的load time总是会大于实际的时间,之所以会有这个主要依赖于软件系统时间的分辨率这个是没有办法避免的。同时如果当中有某个子采样失败了,那么这个事物控制器也会是失败的。

 

6、If 控制器(If Controller)

作用:根据给定表达式的值决定是否执行该节点下的子节点,如果条件为真将会执行If 控制器下的脚本,否则不执行。配置项详解:

勾选Interpret Condition as Variable Expression?:程序只会判断当前的变量是否与字符串true相等,忽略大小写问题。

或者直接是表达式:

使用案例1:ForEach Controller+User Defined Variables+If Controller

 

标签:控制器,jmeter5.2,变量,Controller,循环,执行,节点,详解
来源: https://www.cnblogs.com/wzx1blog/p/13123879.html