Cypress.io: В любом случае, чтобы проверить конкретную сумму прокрутки?
Хотел узнать, есть ли какой-нибудь способ проверить количество прокрутки в определенном диапазоне с помощью 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')
Хотел узнать, можно ли это сделать через мокко, чай, если вокруг кипариса нет работы
1 ответ
Вы можете получить window
возьмите объект с помощью cy.window(), а затем создайте подтверждение, проверяя, соответствует ли scrollY ожидаемому.
Что-то вроде этого должно проверить, находится ли прокрутка между 300 и 500 пикселями сверху (первый аргумент closeTo указывает желаемое значение, а второй - предел ошибки, который вы хотите принять):
cy.window().then(($window) => {
expect($window.scrollY).to.be.closeTo(400, 100);
});
Вот еще одна адаптация:
// * 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);
});