我读过 5-6 个相关的 Stackoverflow 帖子,但似乎没有一个与此相关(著名的遗言)。
Cypress 12.3.0(发生在 v9 上,所以我升级了,但问题仍然存在)。
问题仅发生在自动化中。
测试在 head 模式下进行(Cypress > Edge)。
预期结果:
执行操作,模式关闭。
实际结果:
已执行操作,模式未关闭。
故障排除:
我添加了一个命令来使用模态的 X 按钮关闭模态 = Cypress 找不到它。
如果我不添加上述命令,后续的测试步骤将无法单击元素,因为据称不存在的模态正在覆盖它们!
在 Cypress > Edge 中,我可以与模态元素进行交互并检查模态元素。
这太疯狂了。
代码:
cy.contains('button', 'Delete Queue')
.click();
不涉及 iframe。
我正在内部询问以确定什么 JavaScript 事件或逻辑正在关闭模式,以便我可以触发它。或者如果可以使用 JavaScript 找到它,则关闭模式...
只是想知道你们有什么想法吗?
谢谢
无论出于何种原因,应用程序在删除队列后都不会关闭模式,所以我自己关闭了它使用正确的CSS选择器。
在模式打开之后和在模式上选择元素之前添加了 cy.wait。这为我解决了这个问题。
cy.get('.sc-gsDKAQ.sc-dUbtfd.exemMH.dTJusa.glowButton').click() --> 这将打开模式 等待(5000)
cy.get('.newElement').contains('Text Input').click() --> 在模态上选择一个元素
也许这可以解决您的问题:
cy.contains('button', 'Delete Queue')
.click();
cy.get('[data-test-id="modal-close-button"]')
.click();
如果有效请告诉我。