想知道是否有某种方法可以在Cypress.io的某个范围内测试滚动量。
更具体
我的尝试: 我认为最好的方法是测试那将测试,当前div不在手机屏幕的可视区域内。然后向下滚动以便它变得可见。
cy.get('#angular-projects').should('not.be.visible') // div #angular-projects
cy.get('#developer-projects').click() // button
cy.get('#angular-projects').should('be.visible')
想知道是否可以通过 mocha , chai 完成此操作,如果没有 cypress 解决
答案 0 :(得分:3)
您可以使用cy.window()获取cy.window().then(($window) => {
expect($window.scrollY).to.be.closeTo(400, 100);
});
对象,然后构建断言,检查scrollY是否等于您的预期。
这样的事情应该测试滚动是否在距离顶部300到500像素之间(closeTo的第一个参数指定了你想要的值,第二个参数是你想要接受的误差范围):
{{1}}
答案 1 :(得分:1)
这是另一种改编:
// * Ability to Test scroll position of window :)
cy.window().then((win) => {
win.scrollTo(0, 1000);
});
cy.window()
.its("scrollY")
.should(($scrollY) => {
// expect($scrollY).to.have.value(0);
expect($scrollY).to.be.closeTo(0, 0);
});