@luminati-io/webdriverio8
Version:
Next-gen browser and mobile automation test framework for Node.js
41 lines • 2.61 kB
JavaScript
import { getBrowserObject } from '../../utils/index.js';
const minWindowSize = 0;
const maxWindowSize = Number.MAX_SAFE_INTEGER;
/**
*
* Resizes browser window outer size according to provided width and height.
*
* <example>
* :setWindowSize.js
it('should re-size browser outer window with 500 width and 600 height', async () => {
await browser.setWindowSize(500, 600);
});
* </example>
*
* @alias browser.setWindowSize
* @param {number} width browser will be resized to provided width
* @param {number} height browser will be resized to provided height
* @return {Null|Object} Null for *NO*W3C browser and Object{x, y, width, height} for W3C browser
* @type window
*
*/
export async function setWindowSize(width, height) {
/**
* type check
*/
if (typeof width !== 'number' || typeof height !== 'number') {
throw new Error('setWindowSize expects width and height of type number');
}
/**
* value check
*/
if (width < minWindowSize || width > maxWindowSize || height < minWindowSize || height > maxWindowSize) {
throw new Error('setWindowSize expects width and height to be a number in the 0 to 2^31 − 1 range');
}
const browser = getBrowserObject(this);
if (!browser.isW3C) {
return browser._setWindowSize(width, height);
}
await browser.setWindowRect(null, null, width, height);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0V2luZG93U2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9icm93c2VyL3NldFdpbmRvd1NpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFdkQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFBO0FBQ3ZCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQTtBQUU3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FFL0IsS0FBYSxFQUNiLE1BQWM7SUFFZDs7T0FFRztJQUNILElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUssR0FBRyxhQUFhLElBQUksS0FBSyxHQUFHLGFBQWEsSUFBSSxNQUFNLEdBQUcsYUFBYSxJQUFJLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNyRyxNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUE7SUFDdkcsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO0lBRXRDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzFELENBQUMifQ==