@luminati-io/webdriverio8
Version:
Next-gen browser and mobile automation test framework for Node.js
42 lines (41 loc) • 2.32 kB
JavaScript
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==