Я использую Cypress для тестирования страницы экспорта данных, которая занимает несколько минут для генерации экспорта. Страница не обновляется динамически, поэтому мне нужно заставить Cypress перезагрузить страницу до тех пор, пока статус не будет отображен как завершенный. Я просмотрел документы Cypress и не могу найти способ проверить, существует ли элемент, не вызывая исключения, если его нет.
Я пытался использовать jQuery, но это привело к бесконечному циклу:
describe('test reloading', function () {
it('testSelector reload', function () {
cy.visit('https://docs.cypress.io/api/utilities/$.html#Usage');
let found = false;
while (!found) {
const nonExistent = Cypress.$('.fake-selector');
if (!nonExistent.length) {
cy.reload();
} else {
found = true;
}
}
});
});