UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

70 lines (58 loc) 5.92 kB
/** * * Protocol bindings to receive or change the position of the browser window. * If the `windowHandle` URL parameter is falsy, the currently active window will be considered. * * <example> :windowHandlePosition.js // get the position of // a specified window client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', function(err,res) { ... }); // the current window client.windowHandlePosition(function(err,res) { ... }); // change the position of // a specified window client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', {x: 100, y: 200}); // the current window client.windowHandlePosition({x: 100, y: 200}); * </example> * * @param {String=} windowHandle the window to receive/change the position * @param {Object=} position the X and Y coordinates to position the window at, relative to the upper left corner of the screen * * @returns {Object} the X and Y coordinates for the window, relative to the upper left corner of the screen (`{x: number, y: number}`) * * @see https://code.google.com/p/selenium/wiki/JsonWireProtocol#GET_/session/:sessionId/window/:windowHandle/position * @type protocol * */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var windowHandlePosition = function windowHandlePosition(windowHandle, position) { var data = {}; var requestOptions = { method: 'POST' }; if (typeof windowHandle !== 'string') { position = windowHandle; windowHandle = 'current'; } requestOptions.path = '/session/:sessionId/window/' + windowHandle + '/position'; /** * check if arguments provide proper position parameter */ if (typeof position === 'object' && typeof position.x === 'number' && typeof position.y === 'number') { data = position; /** * otherwise fall back to get operation */ } else { requestOptions.method = 'GET'; } return this.requestHandler.create(requestOptions, data); }; exports['default'] = windowHandlePosition; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC93aW5kb3dIYW5kbGVQb3NpdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLElBQUksb0JBQW9CLEdBQUcsU0FBdkIsb0JBQW9CLENBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRTtBQUN6RCxRQUFJLElBQUksR0FBRyxFQUFFLENBQUE7QUFDYixRQUFJLGNBQWMsR0FBRztBQUNqQixjQUFNLEVBQUUsTUFBTTtLQUNqQixDQUFBOztBQUVELFFBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFO0FBQ2xDLGdCQUFRLEdBQUcsWUFBWSxDQUFBO0FBQ3ZCLG9CQUFZLEdBQUcsU0FBUyxDQUFBO0tBQzNCOztBQUVELGtCQUFjLENBQUMsSUFBSSxtQ0FBaUMsWUFBWSxjQUFXLENBQUE7Ozs7O0FBSzNFLFFBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxRQUFRLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtBQUNsRyxZQUFJLEdBQUcsUUFBUSxDQUFBOzs7OztLQUtsQixNQUFNO0FBQ0gsMEJBQWMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1NBQ2hDOztBQUVELFdBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFBO0NBQzFELENBQUE7O3FCQUVjLG9CQUFvQiIsImZpbGUiOiJ3aW5kb3dIYW5kbGVQb3NpdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFByb3RvY29sIGJpbmRpbmdzIHRvIHJlY2VpdmUgb3IgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgYnJvd3NlciB3aW5kb3cuXG4gKiBJZiB0aGUgYHdpbmRvd0hhbmRsZWAgVVJMIHBhcmFtZXRlciBpcyBmYWxzeSwgdGhlIGN1cnJlbnRseSBhY3RpdmUgd2luZG93IHdpbGwgYmUgY29uc2lkZXJlZC5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6d2luZG93SGFuZGxlUG9zaXRpb24uanNcbiAgICAvLyBnZXQgdGhlIHBvc2l0aW9uIG9mXG4gICAgLy8gYSBzcGVjaWZpZWQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKCd7ZGMzMDM4MWUtZTJmMy05NDQ0LThiZjMtMTJjYzQ0ZTgzNzJhfScsIGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gdGhlIGN1cnJlbnQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gY2hhbmdlIHRoZSBwb3NpdGlvbiBvZlxuICAgIC8vIGEgc3BlY2lmaWVkIHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbigne2RjMzAzODFlLWUyZjMtOTQ0NC04YmYzLTEyY2M0NGU4MzcyYX0nLCB7eDogMTAwLCB5OiAyMDB9KTtcblxuICAgIC8vIHRoZSBjdXJyZW50IHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbih7eDogMTAwLCB5OiAyMDB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZz19IHdpbmRvd0hhbmRsZSB0aGUgd2luZG93IHRvIHJlY2VpdmUvY2hhbmdlIHRoZSBwb3NpdGlvblxuICogQHBhcmFtIHtPYmplY3Q9fSBwb3NpdGlvbiAgICAgdGhlIFggYW5kIFkgY29vcmRpbmF0ZXMgdG8gcG9zaXRpb24gdGhlIHdpbmRvdyBhdCwgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW5cbiAqXG4gKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgWCBhbmQgWSBjb29yZGluYXRlcyBmb3IgdGhlIHdpbmRvdywgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW4gKGB7eDogbnVtYmVyLCB5OiBudW1iZXJ9YClcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCNHRVRfL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd0hhbmRsZS9wb3NpdGlvblxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHdpbmRvd0hhbmRsZVBvc2l0aW9uID0gZnVuY3Rpb24gKHdpbmRvd0hhbmRsZSwgcG9zaXRpb24pIHtcbiAgICBsZXQgZGF0YSA9IHt9XG4gICAgbGV0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2luZG93SGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBwb3NpdGlvbiA9IHdpbmRvd0hhbmRsZVxuICAgICAgICB3aW5kb3dIYW5kbGUgPSAnY3VycmVudCdcbiAgICB9XG5cbiAgICByZXF1ZXN0T3B0aW9ucy5wYXRoID0gYC9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93LyR7d2luZG93SGFuZGxlfS9wb3NpdGlvbmBcblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGFyZ3VtZW50cyBwcm92aWRlIHByb3BlciBwb3NpdGlvbiBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIHBvc2l0aW9uID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcG9zaXRpb24ueCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHBvc2l0aW9uLnkgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSBwb3NpdGlvblxuXG4gICAgLyoqXG4gICAgICogb3RoZXJ3aXNlIGZhbGwgYmFjayB0byBnZXQgb3BlcmF0aW9uXG4gICAgICovXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdE9wdGlvbnMubWV0aG9kID0gJ0dFVCdcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUocmVxdWVzdE9wdGlvbnMsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpbmRvd0hhbmRsZVBvc2l0aW9uXG4iXX0=