原创

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

逻辑控制器介绍

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

image-20200706212858333

Simple Controller

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

image-20200706213631746

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

image-20200706214339999

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

Include Controller

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

image-20200706214848780

Runtime Controller

image-20200706214938796

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

Switch Controller

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

image-20200706215821739

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

image-20200706215954434

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

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

While Controller

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

image-20200706222310272

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

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

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

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

Interleave Controller

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

image-20200706224016477

image-20200706223911429

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

image-20200706224230102

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

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

正文到此结束
该篇文章的评论功能已被站长关闭
本文目录