У меня есть webapp для тестирования. Я получил тест, работающий с protractorJS, который щелкает разными кнопками. Некоторые кнопки запускают запрос POST, и webapp ждет ответа с этого момента. Ответ может занять до 30-40 секунд. Если я посмотрю на инструменты Chrome Developer, я вижу, что webapp отправляет GET-пакеты для получения статуса каждые 2 секунды. Статус может быть waiting
, failed
или successful
.
Мой вопрос сейчас: как я могу посмотреть сетевой трафик и фильтровать его, что я знаю, в какой момент приходит successful
или failed
пакет состояния? Я нашел PhantomJS Network Monitoring.
В принципе, я хочу вызвать функцию после того, как я автоматически нажал кнопку с помощью транспортира, и эта функция должна заглядывать в каждый входящий пакет и должна прекратиться, когда он прочитает, что статус successful
. Если требуется более 60 или 70 секунд, функция должна отключиться.
После нажатия кнопки, которая запускает метод POST, вы должны начать прослушивать в цикле другую конечную точку (GET) каждые n секунд (вы написали, что приложение делает это каждые 2 секунды).
Если состояние waiting
- продолжайте, если он failed
- поднимите исключение и пропустите тест, если он будет successful
- пройдите тест или сделайте все, что захотите.
Цикл предотвратит вас от таймаута.
Вам нужно подумать, нужно ли вам защищаться от бесконечного цикла, если, например, рабочий, который обрабатывает задачу, перестает работать. Тогда метод GET может вернуться в waiting
, цикл не завершится, и тест не остановится.
failed
станетfailed
илиsuccessful
а затем остановите цикл. Но КАК я могу отслеживать / прослушивать все входящие пакеты? Я не писал это веб-приложение, я не знаю, как работают внутренние функции. Я просто хочу следить за трафиком ..