Я тестирую свое приложение для реагирования и хочу проверить, отправлен ли запрос XHR из моего приложения. Когда я использую page.waitFor (5000), иногда он работает, а иногда - нет. Есть ли лучший способ заставить код ждать завершения или разрешения XHR?
Используя кукольник, как я могу дождаться завершения определенного запроса xhr
Ответы (1)
Я считаю, что вам нужно изменить свою стратегию. Вместо того, чтобы ждать X секунд - инициируйте событие, которое удовлетворит ваши потребности.
Поскольку вы тестируете свое собственное приложение, я предлагаю прослушивать ваш сетевой трафик (после этот вопрос)
Суммируя:
- Включить инспекцию трафика
page.setRequestInterceptionEnabled
установлено значениеtrue
- Зарегистрируйте прослушиватель событий для каждого запроса
page.on('request'
- Проверяйте (для каждого запроса), соответствует ли он вашему желаемому запросу (используя свойство
request.url
) - Вызовите свою функцию, когда URL-адрес соответствует желаемому запросу
person
ymz
schedule
05.02.2019
page.waitForResponse()
может помочь? - person vsemozhebuty   schedule 05.02.2019DOM
изменение происходит после завершения запроса, вы можете использоватьpage.waitForSelector('.class-of-element-showed-after-req-complete')
- person Bernhard   schedule 05.02.2019