Jmeter学习:控制器--临界区域控制器/ForEach控制器/包含控制器/单次控制器
一、临界区域控制器
功能:通过该组件,我们可以对指定代码块增加同步锁,确保此代码块由单线程执行。
临界区控制器保证其下的所有组件只能由单线程执行。
二、ForEach控制器
功能:通过该组件,我们可以对一个组变量进行循环迭代。
该组件通常与后置处理器中的 JSON 提取器、正则提取器、边界提取器等进行联合使用。
Start index 与 End index 为左开右闭区间。
三、包含控制器
功能:通过该组件,我们可以将测试计划的某一部分提取为公用逻辑,这样可以达到不同 jmx 文件进行共享代码片段。
步骤:1. 右键组件-->选择Save as Test Fragment-->保存成测试片段
2. 新建测试计划和线程组-->右键线程组选择Logic controller-->Include Controller
Filename:已保存的测试片段。
四、交替控制器
功能:通过该组件,我们可以将内部的组件在线程迭代时交替执行。
注意:交替控制器其下必定包含多个采样器,只有采样器会受交替控制器影响交替执行,其他组件不受影响。
举例:线程组共迭代6次,交替控制器下有3个取样器和,1个预处理器和1个后置处理器,最终结果取样器共交替执行6次,预处理器执行6次,后置处理器执行6次。
Interleave across threads:如果选中,交替控制器将在每个子控制器之间交替进行每次循环迭代但是跨所有线程,例如在具有4个线程和3个子控制器配置中,在第一次迭代时线程1将允许第一个子节点,线程2第二个子节点,线程3第三个子节点,线程4第一个子节点,在下一次迭代中,每个线程将运行以下子控制器
五、单次控制器
功能:通过该组件,我们可以让控制器内部的逻辑只执行一次。
单次的范围是针对某一个线程,无论线程外面迭代多少次或者里面循环多少次,均只执行一次。
单次控制器一般可用于登陆,全局参数设置这种只执行一次的逻辑控制。