cypress - 单击元素失败,因为它错误地认为它是不可见的
问题描述
我有几个示例无法单击弹出菜单中的某些内容。我使用类似于下面的代码,并且该元素可见的断言通过了,但是当它尝试单击已确认可见的该元素时,我收到以下错误:
此元素不可见,因为它的有效宽度和高度为:'0 x 0' 像素。
这是我正在编写的测试类型的示例:
cy.get('.example').eq(2).find('.item-in-list').contains('Example Text').should('be.visible').click();
断言如何可能should('be.visible')
通过,但由于同一元素“不可见”而导致单击失败?
解决方案
这些测试有时通过,有时失败。事实证明,API 调用有时会在测试中完成并导致组件重新呈现,从而关闭我试图单击的弹出菜单。我仍然对断言如何通过以及点击失败的频率仍然感到困惑(在我的断言通过之后和点击之前约 50% 的时间是否真的重新渲染了组件?),但确认在运行我的测试之前完成 API 调用似乎解决了我的问题。
推荐阅读
- firebase - 从集合中检索元素 firebase flutter
- python - 通过`pyngrok`安装`ngrok`的SSL问题
- java - 由于 System.exit,Spring Boot Cucumber 测试正在退出
- r - R中的嵌套IfElse语句未按预期返回值
- jquery - 我是把 :hover 放在 CSS 中,把 keypresses(TABs) 放在 Javascript 中,还是把它们结合起来,把两者都放在我的 Javascript 中?
- python - 如何从多个excel表格中读取所有表格并将各个表格与原始名称组合在一个文件中?
- flutter - 如何删除 ListView 中卡片之间的空格?
- sql - 如何在SQL oracle中计算连续月份的数字
- mongodb - mangoDB的集合名称?
- python - Tkinter 树视图子显示在底部