как открыть веб-сокеты с Gatling 2.2.5? Общие проблемы - PullRequest
0 голосов
/ 29 марта 2020

У меня нет вопросов, но я хотел бы поделиться с вами некоторой информацией, поскольку, хотя я пытался получить некоторую поддержку, я обнаружил, что недостаточно информации о тестировании веб-сокетов с Gatling на net, особенно не в версии 2.2.5 Гатлинга.

Итак, вот некоторые моменты, которые, я думаю, могут оказаться полезными, когда вы пытаетесь написать тестирование производительности, включающее Web-сокеты с Gatling, особенно для начинающих Gatling:

  1. Пока ваш продукт / услуга используя Sock Js, всегда пытайтесь открыть путь WS к "/ websocket".
  2. При локальном запуске у вас, вероятно, нет никакой безопасной сертификации, поэтому используйте "ws: //", а не "was" на вашей информации WsBaseUrl.
  3. чтобы держать WebSocket открытым, вашему продукту / услуге обычно нужно получить сообщение для аутентификации. проверьте это, отладив его с помощью Chrome Dev Tools (F12) или вашей IDE. в большинстве случаев вам потребуется отправить сообщение с токеном или его эквивалентом, и вы должны сделать это сразу после отправки открытого запроса WS (до того, как вы получите сообщение об ошибке тайм-аута) - также не забудьте проверить требуемый заголовок, если есть.
  4. при попытке выполнить код Scala на вашем канале, используйте следующий порядок: вызовите сеанс, выполните код Scala и затем верните сеанс.
exec(session => {
   //your Scala code here
    }
    session
  })

таким образом, вы не сломаете канал ChainBuilder, и ваш код Гатлинга скомпилируется.

для людей, использующих IntelliJ IDEA & Gatling 2.1.5: при создании запроса OpenWS в качестве отдельной функции ваша IDE может сообщить о вашем коде как о неправильном коде после ошибки в интеграции IntelliJ, Scala и это специфицирует c версия Гатлинга. просто запустите его и увидите, что все работает: Ошибка в IDE Пример при попытке выполнить проверку вашего WS, который вы получаете с сервера, используйте простой код Scala для расширения вашего опции. например, я не смог найти способ подсчитать количество сообщений, которые какой-либо сеанс получает от сервера, поэтому я сохраняю запросы к сеансу по поведению Гатлинга, а затем выполняю простой код Scala, чтобы подсчитать это и сохранить Это. модуль «проверки» WS, по крайней мере, в версии 2.2.5, менее информативен, чем модуль «проверки» HTTP-запросов, потому что вы не можете быть уверены, что получите какое-либо сообщение по этому протоколу, наоборот на HTTP-запрос.

Я надеюсь, что по крайней мере некоторые из вас сочтут мой пост полезным. Я буду редактировать это время от времени в соответствии с вашими отзывами. не стесняйтесь критиковать меня. Продолжайте наслаждаться великим инструментом Гатлинга.

Маор

...