乐趣区

性能测试之jmeter逻辑控制种类详解一

逻辑控制器介绍

Jmeter 逻辑控制可以对元件的执行逻辑进行控制,除 Once only Controller 仅一次控制器以外,其他控制器都可以可以嵌套其他种类的控制器,下面是 jmeter5.3 支持的控制器种类,我们分别对其进行介绍

Simple Controller

Simple Controller 用来指定一个执行单元,他不改变元件的执行顺序,主要作用是用来组织采样器和其他的逻辑控制器

简单控制器只有名称和注释.

比如说我们可以用它组织模块,在各个模块里在进行请求的发送,这样看起来各模块比较独立,好维护一些。

Include Controller

Include Controller 用来导入外部的测试片段,这个片段并不是完整的测试计划,导入的这个测试计划是不能有线程组的,只能包含简单的控制器以及控制器下的元件。相当于执行了封装了业务操作到的单元,相当于将一些通用的功能逻辑封装,在这里进行调用。

Runtime Controller

用来控制器子元件的执行时长,单位是秒

Switch Controller

Switch Controller 条件控制器,类似于编程语言里的 switch 语句

比如由上图的配置,Switch Controller 下面有两个 java request,jmeter 会给下面的 java 请求进行编号,第一个为 0,第二个为 1 以此类推

如果上面 switch Value 设置 0,那么第一个 java request 就会执行。如果指定的编号超出了控制器下面的节点数,或者没有指定,则会默认运行第一个节点。

Switch Controller 也可以指定取样器的名称,名称匹配时大小写以及空格都铭感,如果匹配不上则不运行取样器。

While Controller

While 条件控制器,其节点下的元件将一直运行知道 while 条件为 false

Condition: 接受表达式与变量,还可以输入常量,也就是 jmeter 内置的默认值

LAST:当循环前有取样器失败则不进入循环

BLANK:当循环中有取样器失败后停止

Otherwise:当判断条件为 false 停止循环

Interleave Controller

Interleave Controller 交替控制器,其节点下的取样器会交替执行,

假设我们有如上的线程组和交替控制器的配置,线程组下面有一个请求 3,交替控制器下面有请求 1 和请求 2,线程组配置一个线程循环且循环三次,执行以下我们来看看请求的执行顺序。

循环三次,总共有六个请求发出,也就是说每一次循环会执行线程组下面的请求和交替控制器里的一个请求。

<img src=”https://zyjblog.oss-cn-beijing.aliyuncs.com/1593947944.jpg” style=”zoom: 25%;” />

下篇文章我们将介绍剩余的逻辑控制器

欢迎大家去 我的博客 瞅瞅,里面有更多关于测试实战的内容哦!!

退出移动版