javascript - 使用 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 中的表单。
解决方案
推荐阅读
- wordpress - 如何为 woocommerce“即将推出”产品显示特定徽章
- javascript - 使用 forLoop 渲染信息卡和模式框仅超出其中一个字段的最后一个结果
- html - 对实体“id”的引用必须以“;”结尾 分隔符
- json - SwiftUI - 发出获取请求时收到错误
- angular - Angular Material Table 组件在首次加载时未显示数据
- javascript - 插件定义 PostCSS 配置 JS 文件上需要 VS 空对象 ({}) 之间的区别?
- python - 无法创建非常宽的画布
- spring-integration - Spring Integration DSL:将一些消息发送到 Flow inputChannel 的简单方法
- postgresql - 当同一表中的其他字段更新时,PostgreSQL 触发更新字段
- caching - 从 AEM 中的 iparsys 呈现的组件的 Sling Dynamic Include (SDI) 不起作用