Cypress 模式无法关闭

问题描述 投票:0回答:3

我读过 5-6 个相关的 Stackoverflow 帖子,但似乎没有一个与此相关(著名的遗言)。

Cypress 12.3.0(发生在 v9 上,所以我升级了,但问题仍然存在)。

问题仅发生在自动化中。

测试在 head 模式下进行(Cypress > Edge)。

  1. 单击删除图标
  2. 出现模态框
  3. 点击模态中的删除按钮

预期结果:

执行操作,模式关闭。

实际结果:

已执行操作,模式未关闭。

故障排除:

我添加了一个命令来使用模态的 X 按钮关闭模态 = Cypress 找不到它。

如果我不添加上述命令,后续的测试步骤将无法单击元素,因为据称不存在的模态正在覆盖它们!

在 Cypress > Edge 中,我可以与模态元素进行交互并检查模态元素。

这太疯狂了。

代码:

cy.contains('button', 'Delete Queue')
.click();

不涉及 iframe。

我正在内部询问以确定什么 JavaScript 事件或逻辑正在关闭模式,以便我可以触发它。或者如果可以使用 JavaScript 找到它,则关闭模式...

只是想知道你们有什么想法吗?

谢谢

javascript modal-dialog cypress
3个回答
0
投票

无论出于何种原因,应用程序在删除队列后都不会关闭模式,所以我自己关闭了它使用正确的CSS选择器


0
投票

在模式打开之后和在模式上选择元素之前添加了 cy.wait。这为我解决了这个问题。

cy.get('.sc-gsDKAQ.sc-dUbtfd.exemMH.dTJusa.glowButton').click() --> 这将打开模式 等待(5000)

cy.get('.newElement').contains('Text Input').click() --> 在模态上选择一个元素


-2
投票

也许这可以解决您的问题:

cy.contains('button', 'Delete Queue')
.click();
cy.get('[data-test-id="modal-close-button"]')
.click();

如果有效请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.