#javascript #jquery #cypress
Вопрос:
Из-за невозможности Cypress получить доступ к вкладке браузера, я должен использовать один из рекомендуемых обходных путей: мой тест изменяет целевой атрибут ссылки с target: "_blank"
на target: "_self"
. После перехода по ссылке целевая страница открывается на той же вкладке, что и ожидалось, но тест зависает без какого-либо уведомления и перестает работать. Окно браузера не может быть закрыто нажатием кнопки «X». Тест может быть прерван только кнопкой «Стоп» бегуна теста. Есть ли какое-либо решение этой проблемы?
Мне нужно добавить что-то важное к этому вопросу: похоже, причина в том, что после того, как страница открыта и проверена тестом, следующий за ней тест пытается вернуться на страницу, с которой предыдущий тест был перенаправлен на целевую страницу, и эта cy.visit()
команда замораживает этот тест. Визуально никакой навигации не происходит.
На самом деле у меня есть 2 теста, и каждый из них работает нормально (например, если вы используете флаг «только» для любого из них), но если вы запустите оба, не имеет значения, в каком порядке, второй тест зависает:
it('The first test', () =gt; { cy.visit(startPageUrl); // Redirect to page 1 cy.get(linkSelector1).invoke('removeAttr', 'target').click() cy.get(selectorOfTheElementToBeAssertedOnThePage1).should('be.visible'); }) it('The second test', () =gt; { cy.visit(startPageUrl); // The test freezes here // Redirect to page 2 cy.get(linkSelector1).invoke('removeAttr', 'target').click() cy.get(selectorOfTheElementToBeAssertedOnThePage2).should('be.visible'); })