Ответ 1
Доступ к новым окнам через Cypress невозможен в его текущей версии.
Тем не менее, есть много способов проверить эту функциональность в Cypress сейчас. Вы можете разделить свои тесты на отдельные части и при этом иметь уверенность, что ваша заявка покрыта.
- Напишите тест, чтобы проверить, что при выполнении действия в вашем приложении событие
window.open
вызывается с помощьюcy.spy()
для прослушивания событияwindow.open
.
cy.visit('http://localhost:3000', {
onBeforeLoad(win) {
cy.stub(win, 'open')
})
}
// Do the action in your app like cy.get('.open-window-btn').click()
cy.window().its('open').should('be.called')
- В новом тесте используйте
cy.visit()
чтобы перейти к URL-адресу, который откроется в новом окне, заполните поля и нажмите кнопки, как в случае теста Cypress.
cy.visit('http://localhost:3000/new-window')
// Do the actions you want to test in the new window
С полностью рабочим тестовым примером можно ознакомиться здесь.