Поместите это в cypress/support/commands.js
:
Cypress.Commands.add('manageMyApiRequests', () => {
cy.route('/URL/Of/api/I/Want/To/wait/For').as('myApi')
});
Затем в своем тесте или перед каждым вызовом:
cy.server();
cy.manageMyApiRequests();
Затем, где бы вы ни захотели ждать ответа API, простоdo:
cy.wait('@myApi');
То же самое может быть достигнуто без первой команды кипариса manageMyApiRequests
, но я предлагаю вам использовать это для лучшей организации ваших тестов, а затем вы также можете добавить больше apis к той же функции.
К вашему сведению, вы также можете использовать .then()
, если хотите что-то проверить в ответе:
cy.wait('@myApi').then((xhr) => {
// we can now access the low level xhr
// that contains the request body,
// response body, status, etc
});