I'm running a performance test on a websocket. The websocket is returning a heartbeat message every 3 seconds and several data messages. I want to collect the messages returned by the websockt within a specific time interval (10 seconds) and count the data messages ignoring the heartbeat messages.
If I do the following
.exec(ws("ws send message")
.sendText(wsmessages.message)
.check(wsAwait.within(10 seconds).expect(5 to 30)
.regex("^someid").findAll.saveAs("count")
))
.exec(session => { println("message count: " + session("count").as[Seq[String]].size); session })
the list size has the expected amount and is printed to the console. But if I change the call to
.exec(ws("ws send message")
.sendText(wsmessages.message)
.check(wsAwait.within(10 seconds).expect(5 to 30)
.regex("^someid").count.greateThanOrEqual(5)
))
I'm getting a Check failed: Timeout error
Is the count not usable on the regex check?