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