JMeter之常见逻辑控制器实践

说明:

① Condition为空,直到其组件下的请求有失败的,则退出。

3、java调试

While Controller(控制器)

4、执行结果分析

While Controller(控制器)

说明:

没有失败的请求时,其下的组件会一直执行。

Interleave Controller(控制器)

组件使用说明

Interleave Controller(控制器)

说明:

① 忽略子控制模块:如果勾选,则将子控制器作为一个请求,只执行一次(如下面有 上面提到的While Controller,里面只会执行一次下面样例)。如果不勾选,则子控制器中样例都执行。
② 用途:该组件的请求交换执行。

示例:

1、线程组配置

Interleave Controller(控制器)

说明:

①一个线程执行3次。

2、 用户自定义变量

Interleave Controller(控制器)

3、Interleave Controller配置

Interleave Controller(控制器)

Interleave Controller(控制器)

4、执行结果分析

Interleave Controller(控制器)

说明:

从结果可以看到,交换控制器的请求执行了3次,每次执行的请求都不同。

在新版JMeter中该控制器,还有个选项:

Interleave across threads 跨线程交替。选中此项,则交替控制器下的请求将应用至所有线程和循环中迭代。

示例

1、当勾选上此项,线程组配置

Interleave Controller(控制器)

说明:线程数配置为3。

2、执行结果分析

Interleave Controller(控制器)

说明:从结果中看到,线程间也进行了交替;与前面单线程执行3次的结果一致。

Once Only Controller(控制器)

原理:此控制器下的组件只会运行一次,如把登陆放到该组件下。

Once Only Controller(控制器)

示例:

1、线程组配置

Once Only Controller(控制器)

说明:

①一个线程,循环3次;

2、用户变量定义

Once Only Controller(控制器)

3、once only controller

Once Only Controller(控制器)

4、执行结果分析

Once Only Controller(控制器)

说明:

①可以看到仅一次控制器下的组件,执行了一次,和预期相符。

If Controller(控制器)

原理:通过条件来判断该组件的请求是否执行:满足条件就执行,即返回True;不满足条件就不执行。

If Controller(控制器)

说明:

①输入判断条件,可以填写变量;
②interpret conditon as Variable Expression?:勾选此项时,使用表达式判断。如:

If Controller(控制器)

示例:

1、线程配置

If Controller(控制器)

2、用户变量定义

If Controller(控制器)

3、if controller配置

If Controller(控制器)

说明:

表达式做为判断条件;

If Controller(控制器)

说明:

变量做为判断条件;

4、执行结果分析

If Controller(控制器)

说明:

判断条件为True,该组件下的请求被执行。

待大家的实践

随机控制器:随机控制器下的请求是随机的,即请求随机执行,所有请求不一定都会执行。
随机顺序控制器:控制下的所有请求都执行,只是顺序是随机的。

 

上一页12下一页


留言