【Jmeter5.1】逻辑控制器元件五:If Controller、Module Controller、Random Controller、Random Order Controller

一、If Controller 

条件控制器,可以通过某个条件来控制此节点是否运行。Condition可以使用JavaScript 与变量表达式。

勾选Interpret Condition as Variable Expression时,Condition使用变量表达式来设置条件,如上图;

如果不勾选Interpret Condition as Variable Expression,可以直接使用:${}==n 来设置。如下图:

至于是否勾选Exaluate for all children?指的是:是否子运价每一个sample都要判断这个条件,默认不勾选。不勾选,即:只判断1次条件,要么符合条件其子节点全部运行,要么不符合条件,全部子节点都不运行。

二、Module Controller

Module Controller(模块控制器)用来导入该测试计划中的测试片段(没有线程组,由控制器、取样器及其它辅助元件构成,能够完成负载的模拟),Module Controller与Include Controller不同,Include Controller 是用来导入外面的只包含测试片段的jmx文件;而Module Controller只是导入该测试计划中的测试片段(即:内部的);下面截图是介绍测试片段的:

下面我们就使用module controller 调用测试片段,注意,Module Controller不能作为If Contronller的子节点,否则是不会执行的;

结果是:测试片段成功导入,成功运行;

三、Random Controller

随机控制器节点下的元件随机运行,与交替控制器(Interleave Controller)不一样的是节点下的元件运行顺序不定;

四、Random Order Controller

(随机顺序控制器)其下的元件随机执行,每次线程每个元件只执行一次。顺序是随机的。

下面截图简单区分一下Random Controller(随机控制器)与Random Order Controller(随机顺序控制器)的效果,下面截图的例子是线程3个,循环1次;循环多次,结果也是如此:

发布了232 篇原创文章 · 获赞 141 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/ak739105231/article/details/103334521