首页 > 技术文章 > Jmeter4.0---- jmeter逻辑控制器(16)

Z-Queen 2019-07-08 14:49 原文

1.说明

 逻辑控制器可以帮助用户控制Jmeter的测试逻辑,特别是何时发送请求。逻辑控制器可以改变其子测试元件的请求执行顺序。

 

2.逻辑控制器

(1)如果(if)控制器

 用法一:

 审核人员,数据分为两处:

   1)编制人员提交上来的

   2)签发人员驳回过来的

此时使用“如果控制器”,先查询出待审核报告,返回数据为{"total":0,"rows":[]},使用正则表达式取出total值,取出的值为0,则执行”如果控制器”里的查询,获得被驳回的数据

用法二:

如果(if)控制器 + 用户定义的变量 一起使用

线程组--->(右键)添加  --->配置元件  --->用户定义的变量  

用户定义的变量作用范围:当前的线程组内所以取样器都可以引用变量,特殊说明,服务器ip地址和端口号以及接口共同的请求路径部分,作为变量引用时,需要在路径填充表格的最前面添加两个斜杠“//,不然会引用失败的。

 

(2)仅一次控制器

  在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录经常使用这个控制器。比如,编制人员,一次登录上去,多次编制提交报告

 

(3)ForEach控制器(循环控制器)

  ForEach控制器在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。所以ForEach总是和User Defined Variables(用户自定义变量)一起使用。

  • 名称 : 填写循环控制器名称
  • 注释 : 可随意填写内容,不填也可以
  • Add "_" Before number ? :输入变量名称中是否使用 “_” 进行间隔

 

(4)事务控制器

  事务控制器会生成一个额外的采样器,测量执行嵌套测试元素所采取的整体时间。值得注意的是,这个时间包含该控制器范围内的所有处理时间,而不仅仅是采样器的。

 对于Jmeter2.3以上的版本,有以下两种模式的操作:

  (1)事务采样器是添加到其下采样器后面的

  (2)事务采样器是作为其下采样器的父采样器。

  • 名称 :控制器的描述性名称,显示在左边节点上,并用于命名事务
  • 注释 :控制器注释信息,非必填项
  • Generate parent sample:生成父采样器,如果检查,运行时生成的采样器要作为其他采样器的父节点,否则采样器作为一个独立的个体生成(勾选和不勾选,聚合报告中的显示稍有不同)
  • Include duration of timer and pre-post processors in generated sample:包括在生成的采样器中的定时器和预处理器的持续时间

 

(5)Switch Controller(开关控制器)

    Switch控制器通过给该控制器中的Value赋值,确定要运行哪个采样器。

 有两种赋值方式:(1)数值,switch控制器下子节点从0开始计数排序,通过指定子节点所在的数值来确定执行的取样器。(2)取样器名称,以采样器的名称来进行匹配。

    说明:当指定的名称不存在时,不执行任何元素。

 

(6)Runntime Controller(运行时控制器)

  运行控制器,控制其下节点线程被运行时间。

  • 名称 : 此控制器的描述性名称,显示在树上,并用于命名事务
  • 注释 : 非必填项,运行时控制器注释信息填写处
  • Runtime(Seconds):所需的运行时间(单位:S秒)

 

(7)Include Controller(包含控制器)

 包含控制器用于使用外部的Jmx文件。

   注意说明:包含测试的测试计划中不能有线程组,仅仅只能有simple controller ,然后其下可以添加任何采样器,控制器。

 

(8)交替控制器

   一次只执行其下的一个子节点(采样器)(按顺序排序执行)

 

推荐阅读