#cypress
#cypress
Вопрос:
Я хочу подождать, пока приложение, с которым работает Cypress, не будет готово. Похоже, этот код не справляется с задачей — есть идеи?
before(() => {
cy.request('GET', baseUrl, { failOnStatusCode: false, timeout: 60000 });
});
Ответ №1:
Вы пробовали просто использовать cy.visit()
? Он будет ждать 60 секунд (его можно увеличить) для загрузки страницы.
Если вам нужно использовать request, я бы рекомендовал использовать cypress-wait-until . С его помощью вы можете ждать практически чего угодно. В вашем случае это было бы:
cy.waitUntil(() => { cy.request('GET', baseUrl, { failOnStatusCode: false, timeout: 60000 }).its('isOkStatusCode')});
Приведенный выше код будет ждать, пока запрос не завершится кодом успеха. Я предлагаю вам продлить время ожидания, потому что запуск приложения может занять некоторое время:
cy.waitUntil(() => { cy.request('GET', baseUrl, { failOnStatusCode: false, timeout: 60000 }).its('isOkStatusCode')},{ timeout: 60000 });