If控制器<If Controller> 业务逻辑: 根据表达式的结果来决定是否执行控制器下的脚本内容,与编程语言中的if判断逻辑大致相同,表达式结果为布尔值 true或false; 当表达式结果为true时,执行当前节点下的脚本内容,当表达式结果为false时,跳过当前节点,继续往下执行. Interpret Condition as Variable Expression?: 不勾选时,会以表达式的结果来判断,即表达式结果.true来判断使用,可以理解为java的if语句: 勾选时,判断输…
Switch控制器<Switch Controller> 业务逻辑: 取得switch value的值,通过对节点下所有取样器.逻辑控制器的下标.名称匹配去执行,switch value的值可以为数字.字符串.变量等等 当switch value的值为0和正整数时,只会对当前节点下的取样器.逻辑控制器的下标进行匹配,不会对名称匹配.<下标是从0开始,即0为第一个取样器/逻辑控制器> 当switch value的值为空.为0.为正整数时,如果值超出了节点下的下标范围,则会默认执行节点…
While控制器<While Controller> 业务逻辑: 当条件为非false时,执行该节点下的脚本内容,判断条件包括数字.null.空白.字母.符号.true. 当条件为false时,跳过该节点的脚本内容. 当条件为空时,逻辑控制器下最后一个请求报错,则跳出控制器. 当条件为last时,先判断进入控制器前的一个接口执行情况<成功.失败>,如果失败跳过控制器,成功则进去控制器,一直到逻辑控制器下最后一个请求报错,跳出控制器. 节点下的取样器,每一轮循环之初,都会先执行一次这…
ForEach控制器<ForEach Controller> 业务逻辑: ForEach控制器一般与用户自定义变量/JDBC结果变量一起使用,可以认为他就是一种遍历型循环,该节点下的脚本内容会根据结和使用的变量被执行一次或者多次 控制器选项介绍: Input variable prefix:变量前缀,比如上面的test_1,这里就输入test Start index for loop:开始循环字段,不包含输入的数值,按照上图从1开始,则这里输入0,为空和非数字都从0开始 End index f…
随机控制器<Random Controller> 业务逻辑: 当每次执行到该逻辑控制器时,随机挑选控制器下的任意一个子节点<取样器.逻辑控制器> Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行. 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替执行. 演示脚本: Demo_随机控制器 随机控制器与随机顺…
随机顺序控制器<Random Order Controller> 业务逻辑: 当控制器被触发时,将控制器下的所有子节点顺序打乱执行一遍,执行一遍,执行一遍,不是执行一个. 注意:是将子节点的顺序打乱,而非请求的顺序打乱,子节点可以是其他逻辑控制器. 演示脚本: Demo_随机顺序处理器 随机控制器与随机顺序控制器名字十分接近,但两者还是有着明显的区别,可参考  JMeter逻辑控制器_随机控制器 随机控制器为每次只执行节点下的一个子节点,随机顺序控制器是将节点下的所有子节点都正常执行,只是将执…
模块控制器<Module Controller> 业务逻辑: 可以理解为引用.调用的意思,执行内容为Module To Run种所选的内容,引用范围为当前测试计划内的测试片段.逻辑控制器<模块控制器除外.模块控制器除外.模块控制器除外> 被引用的逻辑控制器.测试片段可以为禁用状态,被引用后仍然会被执行. 可以将模块控制器与包括控制器一起学习比较,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容,包括控制器是从外部文件引用,只能引用整个测试片段的内容…
包括控制器<Include Controller> 业务逻辑: 通过Filename的路径和文件名引用外部的jmx文件,然后对齐执行,若外部文件中没有可执行范围内的脚本内容,则跳过该逻辑控制器.被引用文件只会执行Test Fragment测试片段中的内容,线程组的内容不会被执行. 可以将包括控制器与模块控制器一起学习比较,包括控制器是从外部文件引用,只能引用整个测试片段的内容,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容. 模块控制器介绍:逻辑控制器__模…
交替控制器<Interleave Controller> 业务逻辑: 根据被控制器触发执行次数,去依次执行控制器下的子节点<逻辑控制器.采样器>. 被触发执行可以由线程组的线程数.循环次数.逻辑控制器触发. Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替…
如果(if)控制器(If Controller) 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现 if控制器含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号 If Controller页面参数说明 Comments 注释 Expression(must evaluate to true or false) 判断条件是否成立,返回true或false Inte…