说明:
① Condition为空,直到其组件下的请求有失败的,则退出。
3、java调试
4、执行结果分析
说明:
没有失败的请求时,其下的组件会一直执行。
Interleave Controller(控制器)
组件使用说明
说明:
① 忽略子控制模块:如果勾选,则将子控制器作为一个请求,只执行一次(如下面有 上面提到的While Controller,里面只会执行一次下面样例)。如果不勾选,则子控制器中样例都执行。
② 用途:该组件的请求交换执行。
示例:
1、线程组配置
说明:
①一个线程执行3次。
2、 用户自定义变量
3、Interleave Controller配置
4、执行结果分析
说明:
从结果可以看到,交换控制器的请求执行了3次,每次执行的请求都不同。
在新版JMeter中该控制器,还有个选项:
Interleave across threads 跨线程交替。选中此项,则交替控制器下的请求将应用至所有线程和循环中迭代。
示例
1、当勾选上此项,线程组配置
说明:线程数配置为3。
2、执行结果分析
说明:从结果中看到,线程间也进行了交替;与前面单线程执行3次的结果一致。
Once Only Controller(控制器)
原理:此控制器下的组件只会运行一次,如把登陆放到该组件下。
示例:
1、线程组配置
说明:
①一个线程,循环3次;
2、用户变量定义
3、once only controller
4、执行结果分析
说明:
①可以看到仅一次控制器下的组件,执行了一次,和预期相符。
If Controller(控制器)
原理:通过条件来判断该组件的请求是否执行:满足条件就执行,即返回True;不满足条件就不执行。
说明:
①输入判断条件,可以填写变量;
②interpret conditon as Variable Expression?:勾选此项时,使用表达式判断。如:
示例:
1、线程配置
2、用户变量定义
3、if controller配置
说明:
①表达式做为判断条件;
说明:
①变量做为判断条件;
4、执行结果分析
说明:
判断条件为True,该组件下的请求被执行。
待大家的实践
随机控制器:随机控制器下的请求是随机的,即请求随机执行,所有请求不一定都会执行。
随机顺序控制器:控制下的所有请求都执行,只是顺序是随机的。