asLong作为自定义条件

时间:2014-09-25 06:50:00

标签: scala gatling

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

P.S。我是斯卡拉的新手。

EDIT :: 我已经有一个全局变量,它拥有总用户数。 我想在::

的行上做点什么
asLongAs(scenarioCount< users){
  exec(
    ws("ping").sendText("SomeTextGoesHere"))
    .pause(4)
}

1 个答案:

答案 0 :(得分:1)

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

val counter = new AtomicInteger(n)

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

如果你有多个并发&#34;事件&#34;,你可能想要并发地图,以便跟踪每个事件的计数器。