all files / DEV/lib/protocol/ elementIdElement.js

100% Statements 13/13
75% Branches 6/8
50% Functions 1/2
100% Lines 2/2
4 statements, 3 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46                                                                                         
/**
 *
 * Search for an element on the page, starting from an element.
 * The located element will be returned as a WebElement JSON object.
 * The table below lists the locator strategies that each server should support.
 * Each locator must return the first matching element located in the DOM.
 *
 * @param {String} ID ID of a WebElement JSON object to route the command to
 * @param {String} selector selector to query the element
 * @returns {String} A WebElement JSON object for the located element.
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/element
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
// istanbul ignore next
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
var _utilsErrorHandler = require('../utils/ErrorHandler');
 
var _helpersFindElementStrategy = require('../helpers/findElementStrategy');
 
var _helpersFindElementStrategy2 = _interopRequireDefault(_helpersFindElementStrategy);
 
var elementIdElement = function elementIdElement(id, string) {
    if (typeof id !== 'string' && typeof id !== 'number') {
        throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with elementIdElement protocol command');
    }
 
    var found = (0, _helpersFindElementStrategy2['default'])(string, true);
    return this.requestHandler.create('/session/:sessionId/element/' + id + '/element', {
        using: found.using,
        value: found.value
    });
};
 
exports['default'] = elementIdElement;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvZWxlbWVudElkRWxlbWVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWdCOEIsdUJBQXVCOzswQ0FDNUIsZ0NBQWdDOzs7O0FBRXpELElBQUksZ0JBQWdCLEdBQUcsU0FBbkIsZ0JBQWdCLENBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRTtBQUN6QyxRQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7QUFDbEQsY0FBTSxxQ0FBa0IsaUZBQWlGLENBQUMsQ0FBQTtLQUM3Rzs7QUFFRCxRQUFJLEtBQUssR0FBRyw2Q0FBYSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDdEMsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sa0NBQWdDLEVBQUUsZUFBWTtBQUMzRSxhQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7QUFDbEIsYUFBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLGdCQUFnQiIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL2VsZW1lbnRJZEVsZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBTZWFyY2ggZm9yIGFuIGVsZW1lbnQgb24gdGhlIHBhZ2UsIHN0YXJ0aW5nIGZyb20gYW4gZWxlbWVudC5cbiAqIFRoZSBsb2NhdGVkIGVsZW1lbnQgd2lsbCBiZSByZXR1cm5lZCBhcyBhIFdlYkVsZW1lbnQgSlNPTiBvYmplY3QuXG4gKiBUaGUgdGFibGUgYmVsb3cgbGlzdHMgdGhlIGxvY2F0b3Igc3RyYXRlZ2llcyB0aGF0IGVhY2ggc2VydmVyIHNob3VsZCBzdXBwb3J0LlxuICogRWFjaCBsb2NhdG9yIG11c3QgcmV0dXJuIHRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50IGxvY2F0ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gSUQgSUQgb2YgYSBXZWJFbGVtZW50IEpTT04gb2JqZWN0IHRvIHJvdXRlIHRoZSBjb21tYW5kIHRvXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3Igc2VsZWN0b3IgdG8gcXVlcnkgdGhlIGVsZW1lbnRcbiAqIEByZXR1cm5zIHtTdHJpbmd9IEEgV2ViRWxlbWVudCBKU09OIG9iamVjdCBmb3IgdGhlIGxvY2F0ZWQgZWxlbWVudC5cbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmlkL2VsZW1lbnRcbiAqIEB0eXBlIHByb3RvY29sXG4gKlxuICovXG5cbmltcG9ydCB7IFByb3RvY29sRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5pbXBvcnQgZmluZFN0cmF0ZWd5IGZyb20gJy4uL2hlbHBlcnMvZmluZEVsZW1lbnRTdHJhdGVneSdcblxubGV0IGVsZW1lbnRJZEVsZW1lbnQgPSBmdW5jdGlvbiAoaWQsIHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgaWQgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBpZCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFByb3RvY29sRXJyb3IoJ251bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyBkb25cXCd0IGFncmVlIHdpdGggZWxlbWVudElkRWxlbWVudCBwcm90b2NvbCBjb21tYW5kJylcbiAgICB9XG5cbiAgICBsZXQgZm91bmQgPSBmaW5kU3RyYXRlZ3koc3RyaW5nLCB0cnVlKVxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RIYW5kbGVyLmNyZWF0ZShgL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LyR7aWR9L2VsZW1lbnRgLCB7XG4gICAgICAgIHVzaW5nOiBmb3VuZC51c2luZyxcbiAgICAgICAgdmFsdWU6IGZvdW5kLnZhbHVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZWxlbWVudElkRWxlbWVudFxuIl19