jmeter中的逻辑控制器确定采样器的执行顺序。右键线程组-->添加-->逻辑控制器。
一、简单控制器
简单控制器对JMeter如何处理添加到其中的采样器没有影响。只是方便我们做分组命名。
示例:
在以下计划中,向第一个简单控制器添加两个请求:"加载商品搜索页面"和“搜索商品A”,并将控制器命名“挑选商品”;向第二个简单控制器添加另两个请求:"加入购物车"和“支付”,并将控制器命名“支付操作”。运行结果可以看到,简单控制器不会对添加到其中的采样器产生影响。
二、循环控制器
如果将采样器或逻辑控制器添加到循环控制器,除了为线程组指定的循环值之外,JMeter还将循环它们一定次数。例如,如果将一个HTTP请求添加到循环计数为2的循环控制器,并将线程组循环次数设为3,则JMeter将发送总共2 * 3 = 6个 HTTP请求。
示例:
向线程组添加了一个登录请求,并设置线程组循环次数为1。并向循环控制器添加了另一个充值请求。我们将循环控制器配置为循环次数为5。
jmeter按以下顺序发送请求:登录、充值、充值、充值、充值和充值
三、仅一次控制器
仅一次控制器将始终在任何循环父控制器的第一次迭代期间执行 。
- 如果放置在指定了多次循环次数的循环控制器下,那么仅一次控制器将仅在第一次迭代时通过循环控制器执行。
- 如果置于一个线程组,无论线程组设置多少循环次数,只在第一次迭代期间执行,即只执行一次。
示例:
- 线程组中循环次数设置为1,仅一次控制器放置在循环控制器下,向仅一次控制器添加一个登录请求;向循环控制器添加另一个充值请求,循环次数设置为5
jmeter按以下顺序发送请求:登录、充值、充值、充值、充值和充值
- 仅一次控制器置于线程组下,向仅一次控制器添加一个登录请求,向线程组添加另一个充值请求,设置线程组循环次数为5
四、交替控制器
如果将采样器或逻辑控制器添加到交替控制器,则JMeter将在每个其下的控制器之间交替进行每次循环迭代。
忽略子控制器块及跨线程交替默认不选中,若选中,参见以下说明:
示例:
交替控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向交替控制器添加两个请求:“搜索A商品”、“搜索B商品”
五、随机控制器
随机控制器的作用类似于交替控制器,不同在于它不是通过其子控制器和采样器按顺序排列,而是在随机选取一个。
示例:
随机控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向随机控制器添加两个请求:“搜索A商品”、“搜索B商品”
运行之后,可以看到跟交替控制器的区别,每次通过该随机控制器下请求时随机取。
六、随机顺序控制器
随机顺序控制器类似简单控制器,区别在于该控制器下的节点请求执行顺序是随机的。
示例:
向随机顺序控制器中添加以下4个HTTP请求,运行后,可以看到该控制器下的4个HTTP请求顺序是随机的。
七:吞吐量控制器
吞吐量控制器作用:控制用户执行的频率。
有两种模式:
总执行次数(Total Executions): 设置运行次数
执行百分比(Percent Executions): 设置运行比例(1~100之间)
该控制器的其他元素说明,见下:
示例:
- 将吞吐量控制器1、吞吐量控制器2置于线程组下,线程组循环次数设置为5
- 吞吐量控制器1下选择Total Executions,吞吐量设为2;该控制器下的节点执行次数为2
- 吞吐量控制器2下选择Percent Executions,吞吐量设为60;该控制器下的节点执行次数=60%*线程组循环次数5=3次
运行结果:
八、Runtime Controller
控制其子节点运行多长时间。控制器将运行其子项,直到超出配置的运行时间。runtime为0时表示没有运行。
示例:
Runtime Controller置于线程组下,线程组循环次数默认1,Runtime Controller的runtime设为3s
只运行了3s停止了。
欢迎来到testingpai.com!
注册 关于