Условные тесты E2E с Cypress для платежного процессора - PullRequest
0 голосов
/ 23 мая 2019

Мы используем 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.

...