UNPKG

@luminati-io/webdriverio8

Version:

Next-gen browser and mobile automation test framework for Node.js

42 lines (41 loc) 2.32 kB
import logger from '@wdio/logger'; const log = logger('webdriverio'); /** * * Scroll within the browser viewport. Note that `x` and `y` coordinates are relative to the current * scroll positon, therefore `browser.scroll(0, 0)` is a non operation. * * <example> :scroll.js it('should demonstrate the scroll command', async () => { await browser.url('https://webdriver.io') console.log(await browser.execute(() => window.scrollY)) // returns 0 await browser.scroll(0, 200) console.log(await browser.execute(() => window.scrollY)) // returns 200 }); * </example> * * @alias element.scroll * @param {number=} x horizontal scroll position (default: `0`) * @param {number=} y vertical scroll position (default: `0`) * @uses protocol/execute * @type utility * */ export function scroll(x = 0, y = 0) { if (!x && !y) { return log.warn('"scroll" command was called with no parameters, skipping execution'); } // Appium does not support the "wheel" action if (this.isMobile) { return this.execute((x, y) => window.scrollBy(x, y), x, y); } return this.action('wheel') .scroll({ deltaX: x, deltaY: y, duration: 0 }) .perform(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Jyb3dzZXIvc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUVqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFFakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUVsQixDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDO0lBRUwsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLG9FQUFvRSxDQUFDLENBQUE7SUFDekYsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDdEIsTUFBTSxDQUFDO1FBQ0osTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsQ0FBQztRQUNULFFBQVEsRUFBRSxDQUFDO0tBQ2QsQ0FBQztTQUNELE9BQU8sRUFBRSxDQUFBO0FBQ2xCLENBQUMifQ==