常用的逻辑控制器:
- 事务控制器
- ForEach 控制器
- 仅一次控制器
- 吞吐量控制器
1、事务控制器
- 作用:可以用于测试执行嵌套测试元素所花费的总时间,即相当于用户进行一系列操作的测试,只有整个事务控制器定义的事务成功,才算成功。
- 界面如下:
- Generate Parent Sample:如果选中,则生成样本作为其他样本的父项,否则样本将作为独立样本生成。使用根据自己需求使用。
- 没有选中时,请求和事务控制器会并列输出出来。注意一下元件之间的结构。
- 选中的时候,事务控制器会作为两个请求的父节点输出出来。
2、ForEach控制器
- 作用:ForEach Controller需要配合“用户定义的变量”来使用,用来参数化。
- 界面如下:
- 输入变量前缀:变量的前缀;如要使用的变量为name_1,则需要填name。
- Start index for loop(exclusive):从X-1号的变量开始,X为第几个变量;如填0,实际从第一个开始。
- End index for loop(inclusive):到X+1的变量结束,X为第几个变量;如填4,实际第4个不会被使用,只会到第3个。
- 输出变量名称:将要用来使用的变量名。
- Add“_”before number?:用户定义的变量中有没有下划线分隔编号。
勾选之后,用户定义的变量中的变量中间必须加_才会在察看结果树中显示,其他符号一律不显示,例:name_1。
不勾选的话,用户定义的变量中变量中间使用_不会在察看结果树中显示,例:name_1不会显示,name1这样会显示。
不勾选的情况:
勾选的情况:
注意:
1、输入变量的后缀数值一定要连续,比如 index_1,index_2,index_3 … 这样,如果中间有不连续的,循环会中断;
2、循环开始的设定:如果变量为 index_1,index_2,index_3,而设定的开始为 2,则会从index_3 开始循环;
3、循环结束的设定:如果变量有3个 index_1,index_2,index_3,而设定的结束为5,则只会循环 index_1,index_2,index_3 ,如果设定的结束为2,则会循环 index_1,index_2。
3、仅一次控制器
- 作用:有只循环一次的需求时用仅一次控制器。
- 界面如下:
- 使用时的结构如下:执行结果http请求1只会执行一次。
4、吞吐量控制器
- 作用:用来控制其下元件的执行次数,并无控制吞吐量的功能。控制其下的子节点的执行次数与负载比例分配,也有两种方式:
- Total Executions:设置运行次数
- Percent Executions:设置运行比例(1~100之间)
- 示例:
1、设置线程组循环5次:
2、Throughput Controller1的子结点执行3次:
3、Throughput Controller2的子结点执行(40% * 线程组循环次数5)= 2次:
执行结果:
这里提一下:如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的子节点运行次数为两个数值相乘的结果。
文章参考:https://www.cnblogs.com/puresoul/p/4886574.html
https://blog.csdn.net/baidu_39372836/article/details/99445618
https://www.cnblogs.com/yanzhe/p/7729774.html