逻辑控制器作用控制采样器(samplers)的执行顺序划重点

干货来了,逻辑控制器详细讲解

逻辑控制器功能

控制采样器的执行顺序

重点

控制器需要配合采样器使用,否则控制器无意义。所有放置在控制器下的采样器都会被视为一个整体,执行时会一起执行

一、吞吐量控制器

控制请求的数量,每个用户的检查,每个用户的执行次数

示例1:线程数为2,循环数为10可编程序逻辑控制器,百分比为20%

执行次数 = 线程数 * 循环数 * 20%

示例 2:线程数 2,循环数 10,total5,perUser

执行次数 = 线程数 * 5

示例3:线程数为2,循环数为10,总数为5

执行次数 = 5

二、事务控制器

从系统的角度来看:单一的接口处理就是一个事务。

从用户的角度来看:用户完成登录操作或者用户完成下单操作,也可以视为一笔交易

例如:用户完成登录操作

第一步:打开登陆页面

第二步:输入用户信息并验证格式

第三步:输入密码

第三步:输入验证码,点击登录

第四步:验证验证码,验证密码

这组操作涉及多个接口和多个验证场景。在压力测试的过程中,我们可以自定义用户交易场景来控制交易。

检查在生成的样本中包括计时器和前置处理器的持续时间

检查生成父样本

回路控制器

线程组中的优先焦点循环控制器 > 循环逻辑

线程组:线程数2,循环数1

循环控制器:循环计数 5

执行循环控制器:实际运行次数 = 2 * 5

图片[1]-逻辑控制器作用控制采样器(samplers)的执行顺序划重点-老王博客

三、随机控制器

在控制器中随机执行样本,重点关注

示例:线程数 3,循环执行 1

结果:随机执行三个样本

四、随机序列控制器

当前控制下的所有样本都将在运行焦点时执行

示例:线程数 3,循环执行 1

结果:每个样本执行3次

五、如果控制器

当表达式为真(true)时,执行控制器中的samlper

重点

勾选 Interpret Condition as Variable Expression,需要使用 jexl3 或者 groovy 表达式

不勾选,直接使用表达式“${user}”==”test1″,意思是user=test1,true

例子:

1、设置变量user=test1

2、if 表达式 “${user}”==”test1”

运行结果:全部执行(如果环境变量user=test2,控制器中的采样器不会被执行)

Check Evaluate for all children,如果用户值发生变化,后面需要的采样器将不会被执行

如果 Evaluate for all children 没有勾选,如果用户值发生变化,需要的采样器会继续执行

六、ForEach 控制器

通过控制循环中的一组变量,执行当前控制器下的采样器

键引用关系为[0,2)可编程序逻辑控制器,从索引0开始,不包括索引2

如果 ForEach 控制器中没有设置开始和结束索引,则默认运行所有变量名

码字不易,谢谢转发关注

码字不易,谢谢转发关注

码字不易,谢谢转发关注

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论