webdriverio-workflo
Version:
This is a customized version of webdriverio for use with workflo framework.
53 lines (45 loc) • 1.87 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = elementIdLocation;
var _ErrorHandler = require('../utils/ErrorHandler');
function elementIdLocation(id) {
var _this = this;
if (typeof id !== 'string' && typeof id !== 'number') {
throw new _ErrorHandler.ProtocolError('number or type of arguments don\'t agree with elementIdLocation protocol command');
}
return this.requestHandler.create(`/session/:sessionId/element/${id}/location`).catch(function (err) {
/**
* jsonwire command not supported try webdriver endpoint
*/
if (err.message.match(/did not match a known command/)) {
return _this.elementIdRect(id).then(function (result) {
var _result$value = result.value,
x = _result$value.x,
y = _result$value.y;
result.value = { x, y };
return result;
});
}
throw err;
});
} /**
*
* Determine an element's location on the page. The point (0, 0) refers to the
* upper-left corner of the page. The element's coordinates are returned as a
* JSON object with x and y properties.
*
* This command is deprecated and will be removed soon. Make sure you don't use it in your
* automation/test scripts anymore to avoid errors. Please use the
* [`elementIdRect`](http://webdriver.io/api/protocol/elementIdRect.html) command instead.
*
* @param {String} ID ID of a WebElement JSON object to route the command to
* @return {Object} The X and Y coordinates for the element on the page (`{x:number, y:number}`)
*
* @see https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidlocation
* @type protocol
* @deprecated
*
*/
module.exports = exports['default'];
;