Cypress.io:无论如何要测试特定的滚动量?

A. *_*ran 2 javascript mocha.js ecmascript-5 chai cypress

想知道是否有某种方法可以在Cypress.io的一定范围内测试滚动量。

进一步来说

  1. 从页面顶部开始,按按钮
  2. 页面向下滚动到一定高度
  3. 测试滚动高度在一定范围内是否正确

我的尝试: 我认为最好的方法是进行测试,然后进行测试,确定当前的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')
Run Code Online (Sandbox Code Playgroud)

想知道是否可以通过mochachai来完成,如果周围没有柏树

Gui*_*mmi 5

您可以window使用cy.window()获取该对象,然后构建您的断言,以检查scrollY是否等于您的期望。

像这样的东西应该测试滚动距离顶部是否在300到500像素之间(closeTo的第一个参数指定所需的值,第二个参数是您要接受的误差范围):

cy.window().then(($window) => {
  expect($window.scrollY).to.be.closeTo(400, 100);
});
Run Code Online (Sandbox Code Playgroud)

  • @KyLane 只需将 *cy.window* 替换为 *cy.get('div')* (2认同)