从另一个场景访问会话变量
Access session variable from another scenario
我陷入了这种情况。例如我有 3 个场景 A、B 和 C。scn A 将为 B 和 C 生成所需的值。因此 scn B 和 C 将并行执行,但在 scn A 完成之后。
我正在使用 Gatling 3.4 中引入的 andThen() 函数,但我似乎无法从 B 和 C 访问 scn A 的会话变量。
setUp(
A.inject(rampUsers(numReporters) during userCountRampUpTime)
.andThen(
B.inject(rampUsers(numBrowsers) during userCountRampUpTime),
C.inject(rampUsers(numSearchers) during userCountRampUpTime)
)
)
.protocols(http协议)
断言(
forAll.successfulRequests.percent.gt(95),
forAll.responseTime.max.lt(响应时间)
)
会话是与给定虚拟用户关联的内存space。场景执行不同的虚拟用户集。您的实施不可能奏效。
那么,您已经描述了您的实际问题,只是您的实现是暂定的。
如果您尝试在场景之间共享数据,请使用 ConcurrentHashmap 之类的东西。
我陷入了这种情况。例如我有 3 个场景 A、B 和 C。scn A 将为 B 和 C 生成所需的值。因此 scn B 和 C 将并行执行,但在 scn A 完成之后。
我正在使用 Gatling 3.4 中引入的 andThen() 函数,但我似乎无法从 B 和 C 访问 scn A 的会话变量。
setUp(
A.inject(rampUsers(numReporters) during userCountRampUpTime)
.andThen(
B.inject(rampUsers(numBrowsers) during userCountRampUpTime),
C.inject(rampUsers(numSearchers) during userCountRampUpTime)
)
) .protocols(http协议) 断言( forAll.successfulRequests.percent.gt(95), forAll.responseTime.max.lt(响应时间) )
会话是与给定虚拟用户关联的内存space。场景执行不同的虚拟用户集。您的实施不可能奏效。
那么,您已经描述了您的实际问题,只是您的实现是暂定的。
如果您尝试在场景之间共享数据,请使用 ConcurrentHashmap 之类的东西。