【发布时间】:2021-11-28 12:40:54
【问题描述】:
由于某种原因,赛普拉斯似乎无法与我的模态中的元素进行交互(无法点击我的元素)。 UI 提示我为什么会发生这种情况
这是我在使用cy.get('.modal-button') 时看到的。
cy.get('.modal-button').contains('No Template').click() 看起来像。但点击实际上并没有发生。 Cypress 没有给我任何错误信息,而是继续。
更多上下文:
我们使用 ng-bootstrap 作为模态。显示模态时有 0.5 秒的动画,但描述的所有动作都发生在 3 秒的 cy.wait 之后。我尝试在点击中使用{force: true},并尝试了其他选择器/包含,但这也无济于事。
【问题讨论】:
-
get 的默认超时时间是 4000 毫秒,除非您覆盖它。所以额外的 3 秒等待是除此之外的。根据您的屏幕截图,
No Template在您首先在左侧栏中选择了一个选项后似乎是嵌套的。在尝试获取no Template按钮之前,您是否首先在左侧栏中选择了一个选项?另外,cyppres 抛出的错误是什么?它找不到元素,或者元素在影子dom中......? -
在这种情况下,有一个
.active-midrow-button类适用于以蓝色突出显示的选项no template。我首先尝试过,同样的事情发生了。它静默失败,没有错误。我添加了一个截图来说明。