2

我正在运行一个测试,其中有 n 个用户加入一个活动。要留在事件中,每个用户必须每 m 秒继续发送一个 websocket 消息。这必须在最后一个用户执行之前完成。我尝试使用 asLongAs() 但我在努力使用它。我的简单条件是每次场景执行时增加一个计数器,并检查这个数字并继续发送 websocket 消息,直到计数器达到用户数。我如何使用 asLongAs 方法,或者是否有比这更好的方法。

PS我是新来的斯卡拉。

编辑:: 我已经有一个包含总用户数的全局变量。我想在 :: 的行上做点什么

asLongAs(scenarioCount< users){
  exec(
    ws("ping").sendText("SomeTextGoesHere"))
    .pause(4)
}
4

1 回答 1

1

如果要使用全局计数器,则必须注意并发性。

val counter = new AtomicInteger(n)

asLongAs(session => counter.get) {
  ...
}

如果您有多个并发“事件”,您可能需要并发映射以跟踪每个事件的计数器。

于 2014-09-25T08:21:11.743 回答