Мы используем GoPay.com для платежей в нашем приложении. Он работает в двух режимах: полное перенаправление на их сайт или решение на основе iframe для отображения формы платежа. Условия отображения любого из них не совсем ясны и могут варьироваться в зависимости от браузера и кто знает, что еще.
Мне нужно взаимодействовать с формой оплаты в тестах, чтобы пройти через нее, но я изо всех сил пытаюсь это сделать. Существует среда песочницы, поэтому можно делать тестовые (бесплатные) платежи.
По сути, я попробовал следующее, но Cypress не ждет загрузки этой страницы и сразу перестает работать.
cy.window().then(win => {
if (win.location.host.includes('gopay.com')) {
return win.document.querySelector('.main-body')
} else {
return // find form in iframe somehow
}
})
Кроме того, я не уверен, как справиться с поиском этой формы в iframe.