javascript - 赛普拉斯测试失败,因为元素不可见,因为其内容被其父元素之一剪裁
问题描述
在我的 Cypress end 2 end 测试中,我收到以下错误:
此元素
<h4>
不可见,因为它的内容正被它的一个父元素剪辑,该元素的 CSS 属性为 overflow:hidden
,scroll
或auto
父元素确实有overflow: hidden
. 这个h4
标签不是直接子元素,而是一个深层嵌套元素,中间有一些容器。
在我的本地测试通过但在服务器上,在管道中由于上述错误而失败?如何解决这个问题?为什么测试在我的本地通过但在管道中失败?
更新:
我的代码中的断言:
cy.dataCy('cta-text').should('be.visible');
HTML 如下所示:
<div>
<div>
<header>
<h3 data-cy="title">My banner title</h3>
<p data-cy="lead">This is the banner lead text.</p>
</header>
<footer>
<div data-cy="cta">
<h4 data-cy="cta-text">This is the cta text</h4>
</div>
</footer>
</div>
<figure data-cy="image">
<img src="path-to-image">
</figure>
</div>
第一个 div 设置为overflow: hidden
.
更新 2: 当我将浏览器窗口缩小时,我可以看到这个元素消失了。我唯一不明白的是为什么在我的本地测试通过?
解决方案
推荐阅读
- ios - UITableView, cellForRowAt 分配数据的问题
- reactjs - React Native 中的响应式图像
- sql - 如何在 Access 中选择两个日期之间的记录?
- java - 字谜 - 我怎样才能通过以下两个测试用例
- laravel - 如何将cookie从后端(laravel)发送到前端?
- python - 如何在不使用 REGEX 的情况下删除具有特定模式的字符串?
- java - 如何将二维阵列板转换为等距板
- clang - clang 7.0.0 windows 不包括 LLDB 吗?
- android - 无法使用 fopen() 打开文件。fprintf 在 android ndk 中崩溃
- php - 如何从输出流访问 php 中的 json?