javascript - Cypress .io : Anyway to test for specific scroll amount?

标签 javascript mocha.js chai ecmascript-5 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')

想知道这是否可以通过 mochachai 来完成,如果没有 cypress 解决方法

最佳答案

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

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

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

关于javascript - Cypress .io : Anyway to test for specific scroll amount?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50001164/

相关文章:

javascript - AJAX json 数据的 CSS 格式化

javascript - 你如何从 Angular 中的元素中获取类?

javascript - 意外的 token = 在 Mocha react 测试中

javascript - Webdriver.io - 很可能无法加载规范文件,因为它们依赖于 `browser` 对象

node.js - Mocha 测试 Express 启动

javascript - 如何使用基于属性的测试库为 reducer 生成一组有效操作?

javascript - 在另一个 div 中使用 div 来创建网站的结构

node.js - 使用 SailsJS 和 Superagent 运行 Mocha 测试

javascript - 检查 value 是 mocha/chai 测试中的字符串还是数字

javascript - 如何在nodejs中使用chai期望http错误和响应