JMeter笔记17 | JMeter逻辑控制器简介 admin 2023-02-13 11:33:02 篇首语:本文由小编为大家整理,主要介绍了JMeter笔记17 | JMeter逻辑控制器简介相关的知识,希望对你有一定的参考价值。 JMeter笔记17 | JMeter逻辑控制器 1 ForEach Controller2 Simple Controller3 Loop Controller4 Include Controller5 Runtime Controller6 Switch Controller7 While Controller8 Interleave Controller9 Once Only controller10 Throughput Controller11 If Controller12 Module Controller13 Random Controller14 Random Order Controller15 Recording Controller16 Transaction Controller17 Critical Section Controller 逻辑控制器可以对元件的执行逻辑进行控制;逻辑控制器下可以嵌套别的逻辑控制器(一次控制器除外);如图: 1 ForEach Controller 遍历循环控制器;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Input variable prefix输入变量前缀:输入需要遍历的用户参数Start index for loop(exclusive)开始的值,不填默认为1End index for loop(inclusive)结束的值,Output variable name输出变量名称,将遍历查询到的符合条件的用户参数赋值给输入变量(Vname),然后就可以在控制器下的取样器使用,格式为$输出变量名Add”_”before number输入变量名称中是否使用“_”进行间隔一般配合正则表达式提取器来一起使用,可对页面上的某些元素进行重复处理。 2 Simple Controller 简单控制器;提供一个块的结构和控制,不具有任何的逻辑控制和运行时的功能,比如可做分组功能;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空3 Loop Controller 循环控制器;指定其子节点运行的次数;参数: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Loop Conunt要么选Infinite(永远),要么设置具体数字4 Include Controller 包含控制器;用来导入外部的测试片段(非完整的测试计划);被导入的测试计划不能有线程组,只能包含简单控制器及控制器下的元件;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Filemame文件名,必选,未选会报错5 Runtime Controller 生命周期/运行周期控制器;用来控制其子元件的执行时长;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Runtime执行时长,默认为1,不填默认为0,此时不执行子元件6 Switch Controller Switch条件控制器;类似于编程语言中的Switch控制语句;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Switch Value匹配值,可为数字(即取样器编号从0开始);可为字符,为字符时匹配取样器名称7 While Controller While条件控制器;其下的元件一直执行,直到while的条件为False;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Condition(function or variable)可输入变量或变量表达式。为空:直到某次请求失败退出循环;LAST:直到最后一个请求请求失败退出循环; 其他:当判断条件为false时停止循环8 Interleave Controller 交替控制器;其节点下的取样器交替执行;比如该控制器下有2个取样器1和2,交替执行1和2请求,即每次传递一个子请求到这个测试,按子元件的排列顺序;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Ignore sub-controller blocks忽略子控制器模块,子控制器失败由交替控制器接管Interleave across threads允许跨线程交替执行9 Once Only controller 仅一次控制器;在测试计划执行期间,该控制器下的子结点对每个线程只执行一次;登录场景经常会使用到这个控制器;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空10 Throughput Controller 吞吐量控制器;用来控制其下元件的执行次数;并无吞吐量的功能,想要控制吞吐量需要使用 Constant Throughput Timer;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Based on:Percent Ececutions按执行次数的百分比来执行次数,此时Throughput 取值0-100,是否勾选Per Uner对 Percent Ececutions模式无影响。Based on:Total Ececutions按Throughput 的值来指定执行次数, 此时Per Uner 和Total Ececutions一起影响执行次数。Throughput指定执行次数Per Uner每个用户11 If Controller If条件控制器;可通过某个条件控制此节点下的元件是否运行;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Condition判断条件Condition(default javascript)使用JavaScript的函数或变量进行评估判断条件为真或假interpret condition as variable expression如果勾选该项,那么变量表达式会进行求值,并与“ture”或“false”进行比较,而无需使用JavaScriptevaluate for all children如果勾选该项,则该controller在没一个子节点执行时执行一次12 Module Controller 模块控制器;测试控制器子节点下的某一个模块,而不是整个测试计划;用于跳转到选定的控制器位置并执行对应的控制器;应用场景为业务逻辑的跳转;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Module to Run 选择需要跳转到的目标控制器13 Random Controller 随机控制器;节点下的元件随机运行,与交替控制器不一样的是节点下的元件执行顺序不定;参数说明: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空MIgnore sub-controller blocks 忽略子控制器,控制器失败由随机控制器接管14 Random Order Controller 随机顺序控制器;随机执行其下的所有子结点;与Random Controller不同的是,这个控制器会先将需要随机的内容均执行一遍,但次序不定;参数如下: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空15 Recording Controller 录制控制器;类似代理服务器的作用,在测试执行期间记录测试样本; 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Clear all the recorded samples注清除之前执行时记录的所有脚本16 Transaction Controller 事务控制器;把其节点下的取样器执行消耗时间累加在一起;如果事务控制器下的取样器有多个,只有每一个取样器都运行成功,整个事务控制器定义的事务才算成功;参数说明: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Generate parent sample注选择是否生成一个父取样结果Include duration of timer and pre-post processors in generated sample是否包含定时器,选中的话在取样器前和后加上延时17 Critical Section Controller 临界区控制器;确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁);参数说明: 参数说明Name名称:随意设置,可为空Comments注释:随意设置,可为空Lock name锁的名称,最好作为唯一值 以上是关于JMeter笔记17 | JMeter逻辑控制器简介的主要内容,如果未能解决你的问题,请参考以下文章 php 获取数组第一个key 第一个键值对 等等 Win2016异机还原方法 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号