Ошибка компиляции скрипта Гатлинга, говорящая, что значение 'check' не является членом - PullRequest
0 голосов
/ 14 января 2019

У меня есть метод в пользовательском скрипте gatling, как показано ниже. Этот сценарий был написан на Гатлинге 2.3.

def registerAddress: ChainBuilder = {
    exec(ws("WS Register Address").wsName(id)
      .sendText(prefetchAddress)
      .check(wsAwait.within(30).until(1).regex("success").exists))
      .exec(ping)
}

Я конвертирую это в gatling 3.0, и когда я пытаюсь запустить его, я получаю следующую ошибку.

value check is not a member of io.gatling.http.action.ws.WsSendTextFrameBuilder

Я искал везде, но не смог найти документацию, относящуюся к классу WsSendTextFrameBuilder, чтобы соответствующим образом изменить вызов метода.

Кто-нибудь знает документацию, связанную с этим классом или способ устранения этой проблемы?

Спасибо.

1 Ответ

0 голосов
/ 16 января 2019

После просмотра документации Gatling 2.3 и 3.0 я обнаружил новые вызовы для вышеуказанного сценария.

Очевидно, метод check больше не доступен в классе WsSendTextFrameBuilder. Вместо этого следует использовать метод await.

Таким образом, код будет выглядеть примерно так, как показано ниже.

val checkReply = ws.checkTextMessage("request").check(regex("request-complete"))
def registerAddress: ChainBuilder = {
    exec(ws("WS Register Address").wsName(id)
      .sendText(prefetchAddress)
      .await(30 seconds)(checkReply))
      .exec(ping)
}
...