【发布时间】:2022-06-10 21:41:36
【问题描述】:
我有 iframe 用于付款,付款成功后我需要点击“返回申请”按钮。这是一个问题。按钮在应用程序的href 属性中有一个新链接。单击此按钮后,Cypress 似乎丢失了测试场景,浏览器窗口左侧不再有 Cypress 步骤。而且它没有进一步的步骤。
如何处理这种情况?如何让 Cypress 按场景持续运行?
【问题讨论】:
-
你能把
cy.visit()重复到baseUrl而不是cy.go('back')吗?或cy.visit(href). -
请提供更多信息,包括涉及的代码和网址。
-
@Fody,是的,这种解决方法有效。但它不遵循用户行为,因为没有点击按钮。
cy.iframe(locator) .find(element) .invoke('attr', 'href').then(href => { cy.visit(href) }); -
我猜您只需要确认
href与预期匹配即可。试图思考会发生什么回归,这是最明显的(href 更改为不正确的内容)。 -
您可以看到here 存根
window.location.replace的示例并单击测试,然后检查存根被调用。但取决于应用程序的导航方式。我也必须存根window.location.assign。