Jmeter之逻辑控制器介绍

发表于:2022-1-17 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:寻梦者d    来源:网络

  jmeter中逻辑控制器(Logic Controllers)的作用域只对其子节点的sampler有效,作用是控制采样器的执行顺序。
  jmeter提供了17种逻辑控制器,它们各个功能都不尽相同,大概可以分为2种使用类型:
  ①.控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller(循环控制器)、If Controller(如果if控制器)等;
  ②.对测试计划中的脚本进行分组,方便JMeter统计执行结果以及进行脚本的运行时控制等,如:Throughput Controller(吞吐量控制器)、Transaction Controller(事务控制器)等。
  jmeter提供如下17种逻辑控制器(本次对前面5种进行介绍):
  1、临界区控制器(critical section Controller)
  作用:临界区控制器确保其子节点下的取样器或控制器将被执行。(只有一个线程作为一个锁)
  名称和注释很简单,就是给控制器添加一个备注,使人明白这个控制器的解释含义的意思。
  Lock name:锁名称,这里可以填入其子节点下执行的线程的名称,这个线程作为一个全局锁存在。
  2、遍历循环控制器(ForEach Controller)
  作用:用来遍历当前元素的所有可执行场景;在用户自定义变量中读取一系列相关的变量,该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。
  输入变量前缀:在其中输入需要遍历的用户参数(User Parameter)。
  Start index for loop(exclusive):循环指数开始(唯一)→ 遍历查询的变量范围,开始的值(这里如果不填写,默认从1开始,如果没有1开始的变量,执行时会报错)。
  End index for loop(inclusive):循环指数结束(包含)→ 遍历查询的变量范围,结束的值。
  输出变量名称:将遍历查询到的符合条件的用户参数赋值给输入变量(Vname),然后就可以在控制器下的取样器使用,格式为${输出变量名}。
  Add”_”before number:输入变量名称中是否使用“_”进行间隔。
  PS:这个控制器一般配合配置元件→ 正则表达式提取器来一起使用,可对页面上的某些元素进行重复处理。
  3、包含控制器(Include Controller)
  作用:用于引用外部的Jmx文件;从而控制多个测试计划组合。
  include Test Plan:包含测试计划的文件名,可以点击浏览,从文件夹保存的JMX文件夹目录下选择对应的JMX文件。
  使用方法:创建一个测试计划,下面可添加取样器/控制器等,然后保存测试计划,为了方便起见, 线程组也可以添加外部JMX文件中用于调试。
  如果测试使用Cookie或用户定义的变量,这些应放置在顶层(包括文件),否则无法正常工作;此元素不支持变量/函数在文件名字段中;但是,如果属于包含控制器定义的内容,则使用前缀路径名。
  当使用包含控制器中包含相同的JMX文件,则要确保文件名不同,以避免无法读取;如果文件不能被发现,那么控制器会尝试打开文件名相对于JMX启动目录。
  4、生命周期/运行周期控制器(Runtime Controller)
  作用:用于控制该控制器下的取样器/控制器的运行时间。
  Runtime(seconds):运行时间,单位为:秒。
  5、转换控制器(Switch Controller)
  作用:通过给该控制器中的value赋值,来指定运行哪个取样器(也可以理解为开关控制器)。
  Switch value:控制器具体赋值的value值字段。
  有两种赋值方式:
  ①.第一种是数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素。
  ②.第二种是直接指定子元素的名称,比如采样器的Name来进行匹配。当指定的名称不存在时,不执行任何元素。
  当Value为空时,默认执行第1个子节点元素。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号