我正在测试我的应用程序,我有一个很长的侧菜单,我有这样的代码:
cy.get('tab').click({force: true})
自动滚动发生在获取和单击之间,然后所选选项卡不可见,因为顶部菜单的位置已固定。我找到了很多解决方案,但都不起作用。到目前为止,我在get和click之间尝试了.click({force: true})
和.click(scrollBehaviour: false})
以及.scrollIntoView()
。有其他办法解决这个问题吗?
您可以全局设置scrollBehavior
或每个测试(-suite(。
我在每次测试的基础上禁用它,就像这样:
it('check something w/ autoscroll disabled', { scrollBehavior: false }, () => {
cy.get('.tab').click();
// do something else ...
});
文档:https://docs.cypress.io/guides/references/configuration#Actionability
您尝试过使用scrollBehaviour: 'top'
吗?
您可以在这里找到有关滚动行为的更多详细信息:
https://docs.cypress.io/guides/core-concepts/interacting-with-elements#Scrollinghttps://docs.cypress.io/guides/references/configuration#Actionabilityhttps://docs.cypress.io/api/commands/click#Arguments
您是否尝试在cypress.json文件中键入"scrollBehavior": false
?因为它对我有效。
根据自动滚动的实现方式,您可以尝试在测试的顶部添加它
cy.window().then(win => win.scrollTo = cy.stub())
其尝试截取本地CCD_ 7函数。我还没有尝试过,如果win.scrollTo
是只读的,它可能会失败。
这是参考页面Window.sollTo((,可以在注释中看到一些其他变体,如果应用程序使用这些变体,可以尝试。
基于Philip Kyeck的回答,它也适用于特定的命令。类似:
cy.get('SelectorHere').trigger("mouseenter", {scrollBehavior: false});