Я обновляюсь до Gatling 3 и пытаюсь заставить работать WebSockets.
Вот упрощенная версия того, что я пытаюсь сделать:
class MySimulation extends Simulation {
private def operation1 =
exec(
ws("operation1")
.sendText("{}")
.await(1 minute) (
ws
.checkTextMessage("Check response 1")
.check(
jsonPath("$.var1")
.ofType[String]
.exists
.saveAs("var1") // Save var1 from operation 1
)
)
)
private def operation2 =
exec(
session => {
val var1 = session("var1").as[String]
exec(
ws("operation1")
.sendText(s"{var1:$var1}") // Use var1 from operation1 in operation2
)
session
}
)
private def scn =
scenario("Scenario")
.exec(
ws("Connect socket")
.connect("wss://socketpath") // Open connections
.onConnected(
exec(
pause(2 seconds),
operation1,
pause(2 seconds)
operation2,
pause(2 seconds),
ws("Disconnect") // Close connection
.close
)
)
)
setUp(
scn.inject(atOnceUsers(1))
).protocols(http)
}
У меня есть последующие операции с сокетами, которые зависят друг от друга (то есть: идентификатор одного необходим в другом),В упрощенном примере проблема заключается в том, что сеанс не содержит var1
после operation1
.
Чего мне не хватает?
Заранее спасибо.