Jmeter逻辑控制器——适用于新手小白

逻辑控制器: 可以按照设定的逻辑控制取样器的执行顺序

JMeter中常用的逻辑控制器:

  • 如果(If)控制器
  • 循环控制器
  • ForEach控制器

1、如果(If)控制器

作用:If控制器用来控制它下面的测试元素是否运行

位置:测试计划-->线程组-->(右键添加)逻辑控制器:--> 如果(If)控制器

JS语法形式

函数语法形式

2、循环控制器

作用:通过设置循环次数,来实现循环发送请求
位置:测试计划-->线程组-->(右键添加)逻辑控制器->循环控制器

(3)思考:线程组属性可以控制循环次数,那么循环控制器有什么用?
不同点:线程组的循环次数对线程组下的所有HTTP请求有效,循环控制器的循环次数对子节点下的HTTP请求有效
关联:循环控制器次数为M,线程组循环次数为N,

  • 循环控制器下的请求运行:M*N次
  • 线程组下,非循环控制器下的请求运行:N次

3、ForEach控制器

作用:一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量。该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值。

位置:测试计划-->线程组-->(右键添加)逻辑控制器-->ForEach控制器


参数介绍:
输入变量前缀:要读取的输入变量的固前缀
开始循环字段:要读取的输入变量后缀数字的最小值-1
结束循环字段:要读取的输入变量后缀数字的最大值
输出变量名称:读取输入变量的值后保存的新变量名,用于后续HTTP请求来引用

命名规则:前缀 编号

3.添加ForEach控制器
4.添加HTTP请求-百度

4、同步定时器

为什么要使用同步定时器?

如何模拟1w人同时使用电商网站?                                                          相对并发
如何模拟1w人同时进行电商网站中的抢购活动/秒杀活动?                     绝对并发

如何模拟1000人同时抢红包?                                                                 绝对并发

同步定时器:阻塞线程(累积一定的请求),当在规定的时间内达到一定的线程数量,这些线程会
在同一个时间点一起释放,瞬间产生很大的压力。

提示:Jneter中叫做同步定时器在Loadrunner中又叫集合点

位置:测试计划 --> 线程组--> HTTP请求(右键添加)定时器-->Synchronizing timer

参数介绍:
Numberof simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量,

若设置为0,等于设置为线程组中的线程数量
Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数;

如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等

如果大于0,那么如果超过mimeout in milliseconds中设置的最大等待时间后还没达到设置的线程数Timer将不再等待,释放已到达的线程,默认为0

5、常数吞吐量定时器

为什么要使用常数吞吐量定时器?
稳定性测试时,要求模拟用户真实的业务场景。
如果用户真实业务场景的QPS为20,如何精确模拟?

作用:让JMeter按指定的吞吐量执行,以每分钟为单位

位置:测试计划线程组-->HTTP请求(右键添加) 定时器Constant Ihinput Timer

参数介绍:
Iarget throughput(in samples per minute):目标吞吐量。注意这里是每个户每分钟发送的请求数

6、固定计时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值