Cypress запрос ждать по умолчанию? - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужно, чтобы Cypress дождался завершения любых запросов xhr по умолчанию, прежде чем выполнять какие-либо операции.Есть ли способ сделать это по умолчанию или любые другие альтернативы, потому что приложение, которое я тестирую, работает медленно и делает много вызовов API?

Редактировать: при написании одного оператора для каждого запроса API становится грязными ненужная работа.Нужен способ сделать это проще.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Нашел что-то, что работает для меня здесь https://github.com/PinkyJie/cypress-auto-stub-example

Ищите cy.waitUntilAllAPIFinished

0 голосов
/ 19 февраля 2019

Если вы хотите дождаться определенного xhr, вы можете сделать это, используя cy.route().Я использую это в некоторых сценариях, и это действительно полезно.Основные шаги для его использования:

  • cy.server()
  • cy.route('GET','**/api/my-call/**').as('myXHR');
  • Делайте в пользовательском интерфейсе такие вещи, как нажатие кнопки, которая вызоветAPI вызывает
  • cy.wait(@myXHR)

Таким образом, если такой вызов не запущен, ваш тест не пройден.Вы можете найти обширную документацию об этом здесь

...