Eri*_*rel 6 material-ui cypress
调用 Cypresscy.get方法时,页面会滚动,以便所选元素位于页面顶部。
当其顶部有一个相对定位的粘性工具栏时,这是有问题的,因为它可能会系统地隐藏该元素,从而使进一步的click事件失败。
例如,这可以使用Material UI“仪表板”模板来重现。
知道如何解决这个问题,或者通过修改模板以保持粘性顶部菜单而不相对定位(编辑:实际上标题是绝对定位的),或者设置赛普拉斯在获取元素时稍微偏移滚动?
当然,我可以强制点击,cy.click({force:true})但从长远来看这并不是很好。
小智 8
此滚动逻辑仅适用于上面可操作的命令。cy.get()当使用 DOM 命令(例如或 )时,我们不会将元素滚动到视图中.find()。因为这
在单击命令中禁用滚动
.click({scrollBehavior:false})
Run Code Online (Sandbox Code Playgroud)
小智 1
您可以使用该.pause()方法来查看是否.get()确实滚动了页面。根据文档,使用 时页面永远不会滚动.get(),仅在使用操作命令(如 `.click() source)时才滚动。
仅供参考,有一个更改滚动行为的功能请求。
另外,您可以在每次测试中使用一个厚颜无耻的解决方法:
Cypress.on('scrolled', $el => {
$el.get(0).scrollIntoView({
block: 'center',
inline: 'center'
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8865 次 |
| 最近记录: |