Используя Cypress js, я создал комплексные тесты для веб-сайта и запустил тесты в powershell. При некоторой нехватке знаний при использовании функции wait()
псевдонимные маршруты не такие, как я ожидал.
ядро теста на кипарис:
cy.route("http://localhost:8000/admin/portfolio/putstrategy")
.as("updatestrategy")
cy.get("button")
.contains("Upload")
.click()
cy.wait("@updatestrategy")
журналы:
Я ожидаю, что wait()
совпадет с запросом, инициированным нажатием кнопки. То, что я сейчас получаю, - это успешный ответ на запрос, по-видимому, все до того, как тест сможет его догнать.
Из документов:
Each time we use cy.wait() for an alias, Cypress waits for the next nth matching request.
Мое понимание этой цитаты состоит в том, что wait()
будет совпадать с запросом, чей номер ордера на выполнение соответствует номеру ордера на выполнение в ожидании относительно того же адреса.
Запросы могут истекать, а ответы могут истекать. В этом случае не найдено ни одного запроса, соответствующего номеру ожидания.
Как я могу использовать Cypress для ожидания запроса, вызванного программным способом?