前言
Jmeter的线程组在发送2个请求之间需要设置一个等待时间时,类似于代码里面的sleep休眠时间,可以用固定定时器解决。
固定定时器
有2个HTTP请求,a是注册用户请求,b是登录的请求。先发a请求注册,注册成功后,用同一账号去登录。
jmeter在发送2个请求的时间间隔非常短,有可能发注册请求后,数据库还没写入成功就发了登录请求,导致登录失败
像这种情况,我们一般加个sleep等待时间,在jmeter里面可以用固定定时器来实现。
在第二个请求上添加-定时器-固定定时器
设置延迟时间
延迟时间默认是300毫秒,我这里设置延迟2000毫秒,也就是2秒钟
于是可以看到2个请求间隔2秒钟
定时器作用域
1.定时器是在每个sampler(采样器)之前执行的,而不是之后。不管这个定时器的位置放在sampler之后,还是之下,它都在sampler之前得到执行。
2.定时器是有作用域的;当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;
3.如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入;
4.如果希望在sampler执行完之后再等待,则可使用取样器里面的测试活动(Test Action);
需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。
如下图,固定定时器的时长设为2000毫秒。
定时器时长并不计入HTTP请求的响应时间,但被计入“事务控制器”的总时间
如果你坚持看到这里,并且对loadrunner的think time和pacing这两个概念还有记忆的话,我们可以有答案了:
对于“HTTP 请求”这个sampler来说,定时器相当于loadrunner中的pacing;对于“事务控制器”来说,定时器相当于loadrunner中的think time。
https://blog.51cto.com/u_15249893