1.简介
Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”。
意思是说,逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了。放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行。
JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套别的种类的逻辑控制器。
2.逻辑控制器分类
JMeter中的Logic Controller分为两类:
(1)控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller、If Controller等;
(2)对测试计划中的脚本进行分组、方便JMeter统计执行结果以及进行脚本的运行时控制等,如:Throughput Controller、Transaction Controller。
3.预览逻辑控制器
首先我们来看一下JMeter的逻辑控制器,路径:线程组(用户)->添加->逻辑控制器(Logic Controller);我们可以清楚地看到JMeter5中共有17个逻辑控制器,如下图所示:
如果上图您看得不是很清楚的话,宏哥总结了一个思维导图,关于JMeter5的逻辑控制器类型,如下图所示:
通过以上的了解,我们对逻辑控制器有了一个大致的了解和认识。下面宏哥就给小伙伴或则童鞋们分享讲解一些通常在工作中会用到的逻辑控制器。
4.常用逻辑控制器详解
这一小节,宏哥就由上而下地详细地讲解一下常用的逻辑控制器。
4.1Runtime Controller
运行控制器用来控制其子元件的执行时长。市场单位是秒。
1、我们先来看看这个Runtime Controller长得是啥样子,路径:线程组 > 添加 > 逻辑控制器 > 运行控制器,如下图所示:
2、关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Runtime:默认为1,去掉1则默认为0,此时不执行其节点下的元件。 与线程组中的调度器的持续时间 效果一致。不填 或 0,不会执行样例
4.1.1Runtime控制器控制其下取样器执行2s
1、创建测试计划,设置 Runtime 控制器的运行时间 为 2,线程组设置默认不变,如下图所示:
Runtime 控制器设置
线程组设置
2、配置好以后,运行JMeter,然后查看结果树,如下图所示:
4.1.2使用线程组中的调度器控制样例运行3s
1、创建测试计划,设置 Runtime 控制器的运行时间 为 2,线程组设置运行时间3,如下图所示:
线程组设置
Runtime 控制器