【发布时间】:2018-02-12 14:20:46
【问题描述】:
我使用 Jmeter 3.3 有以下场景:
我想每 2.5 分钟运行一次“Get auth token”,同时不停地运行[GET] 线程组。
换句话说,[GET] 正在从第一个线程组获取身份验证令牌,我想并行运行它们,并且只在 2.5 分钟时更改一次令牌。
我尝试向第一个线程添加一个常量计时器,但第二个线程在计时器过去之前没有运行。
我怎样才能让[GET] 不间断运行,而“Get Auth token”只在 2.5 分钟运行一次?
LE:
[GET] 线程用于负载测试,应该与大约 100 个活跃用户一起运行(全部使用相同的令牌)
HTTP Sampler 下添加了常量定时器
> Get Auth token
>> [POST] Auth token
>>> HTTP Header Manager
>>> Regular Expression Extractor
>>> Response Assertion
>>> Constant Timer
LE2: 我尝试在第一个线程组下添加一个测试操作。在 Thread 1 延迟之后,我没有设法让 Thread 2 运行而不等待。
【问题讨论】:
-
你添加常量定时器的时候,是不是把它作为HTTP采样器的子代?
-
是的,我做到了。正好在“[POST] Auth token”下的“Response Assertion”下。问题是,对于线程 1,我应用了延迟,但是当延迟生效时,线程 2 也处于暂停状态。我希望线程 2 同时运行。
-
它对我来说工作正常,但是您可以尝试另一件事,在您的第一个线程组中的 HTTP 采样器之后添加一个测试操作采样器,并将其配置为暂停您想要的持续时间和删除计时器并尝试一下。
-
不走运。我开始认为它与线程间通信有关。如果我复制线程 2 并删除线程 1 中获得的身份验证令牌,它可以正常工作。
-
你的 if 语句是什么?您能否在您的 if 控制器之前添加一个调试采样器并使用测试操作配置运行,观察视图结果树,看看线程是否根本没有执行或者它没有进入 if 控制器。
标签: multithreading authentication jmeter refresh token