Gatling 3 проверки на WebSockets и сохранение в сессию - PullRequest
0 голосов
/ 26 сентября 2018

Я обновляюсь до 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.

Чего мне не хватает?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...