Используя puppeteer, как я могу ждать, пока конкретный запрос xhr будет выполнен

Я тестирую свое приложение реакции и хочу проверить, отправлен ли запрос XHR из моего приложения. Когда я использую page.waitFor(5000), это иногда будет работать, но иногда нет. Есть ли лучший способ заставить код ждать завершения XHR или его разрешения?

1 ответ

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

Поскольку вы тестируете свое собственное приложение, я предлагаю послушать сетевой трафик (после этого вопроса)

Короче:

  • Включить проверку трафика page.setRequestInterceptionEnabled установлен в true
  • Зарегистрируйте прослушиватель событий для каждого запроса page.on('request'
  • Проверьте (для каждого запроса), соответствует ли он вашему желаемому запросу (используя request.url имущество)
  • Вызовите свою функцию, когда URL соответствует желаемому запросу.
Другие вопросы по тегам