0

我的要求是我希望 10 个用户登录(使用来自 CSV 的登录凭据)同时登录 5 个用户,每个用户根据登录的用户遍历不同的路径。以下是我的测试计划: 测试计划

下面是我使用的同步定时器设置: 同步定时器设置

我已经在事务控制器中合并了我的请求,因为每个主请求都有多个并发子请求另外我想将所有 JS、css、图像文件的请求作为一个父请求。我正在考虑 1 个请求以包含每个事务控制器中的所有请求。: 在事务控制器中合并请求

根据我的测试计划,如果我的理解是正确的,那么第一个用户将登录并且请求继续到 User1 的“如果控制器”。这里的请求会一直等到 5 个请求按照同步定时器的设置排队,并且所有 5 个请求将同时发送到服务器。然后第二个用户将登录并处理第二个用户的请求,依此类推。

如果不使用同步定时器,上述测试计划执行成功。一旦我使用了同步计时器,我的测试计划就会无限期地继续执行。

根据我对同步计时器的理解,处理应该继续,因为我使用了 200000 毫秒的超时值。我无法理解为什么在使用同步计时器时测试计划会挂起。

我真正想要的是首先所有 10 个用户应该同时登录 5 个用户,然后每个用户按照 If Controller(${__groovy(vars.get("username") == "user1 " )}),同时有 10 个请求。

那么,我如何设计我的测试计划以及使用同步计时器来达到预期的结果?

我将非常感谢经验丰富的 JMeter 专家的意见。谢谢!

4

1 回答 1

1

当 10 个用户进入 if 控制器时,您似乎希望同步计时器专门工作。

因为计时器在范围内的每个 Samplet 之前执行,

在找到它们的范围内的每个采样器之前处理计时器;

在您的情况下,您只需要在控制器内的请求 1 下移动计时器。

目前您正在尝试同步流中的所有采样器,并且您不需要等待每个采样器

于 2018-03-14T14:46:13.473 回答