首页 > 解决方案 > 使用 Cypress 进行有条件的 E2E 测试,用于支付处理器

问题描述

我们在我们的应用程序中使用 GoPay.com 进行付款。它以两种模式运行,完全重定向到他们的网站或基于 iframe 的解决方案以显示内联付款表格。显示其中任何一个的条件并不完全清楚,并且可能因浏览器而异,谁知道还有什么。

我需要在测试中与付款表格进行交互才能完成它,但我正在努力如何做到这一点。有一个沙盒环境,所以可以进行测试(免费)支付。

基本上,我尝试了以下操作,但赛普拉斯没有等待该页面加载并立即失败。

  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 中的表单。

标签: javascripte2e-testingcypress

解决方案


推荐阅读