@testim/testim-cli
Version:
Command line interface for running Testing on you CI
46 lines (36 loc) • 4.14 kB
JavaScript
/**
*
* Search for multiple elements on the page, starting from an element. The located
* elements will be returned as a WebElement JSON objects. The table below lists the
* locator strategies that each server should support. Elements should be returned in
* the order 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 elements
* @returns {Object[]} A list of WebElement JSON objects for the located elements.
*
* @see https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/elements
* @type protocol
*
*/
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var _helpersFindElementStrategy = require('../helpers/findElementStrategy');
var _helpersFindElementStrategy2 = _interopRequireDefault(_helpersFindElementStrategy);
var elementIdElements = function elementIdElements(id, selector) {
if (typeof id !== 'string' && typeof id !== 'number') {
throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with elementIdElements protocol command');
}
var found = (0, _helpersFindElementStrategy2['default'])(selector, true);
return this.requestHandler.create('/session/:sessionId/element/' + id + '/elements', {
using: found.using,
value: found.value
});
};
exports['default'] = elementIdElements;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9lbGVtZW50SWRFbGVtZW50cy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBZ0I4Qix1QkFBdUI7OzBDQUM1QixnQ0FBZ0M7Ozs7QUFFekQsSUFBSSxpQkFBaUIsR0FBRyxTQUFwQixpQkFBaUIsQ0FBYSxFQUFFLEVBQUUsUUFBUSxFQUFFO0FBQzVDLFFBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRTtBQUNsRCxjQUFNLHFDQUFrQixrRkFBa0YsQ0FBQyxDQUFBO0tBQzlHOztBQUVELFFBQUksS0FBSyxHQUFHLDZDQUFhLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUN4QyxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxrQ0FBZ0MsRUFBRSxnQkFBYTtBQUM1RSxhQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7QUFDbEIsYUFBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLGlCQUFpQiIsImZpbGUiOiJlbGVtZW50SWRFbGVtZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFNlYXJjaCBmb3IgbXVsdGlwbGUgZWxlbWVudHMgb24gdGhlIHBhZ2UsIHN0YXJ0aW5nIGZyb20gYW4gZWxlbWVudC4gVGhlIGxvY2F0ZWRcbiAqIGVsZW1lbnRzIHdpbGwgYmUgcmV0dXJuZWQgYXMgYSBXZWJFbGVtZW50IEpTT04gb2JqZWN0cy4gVGhlIHRhYmxlIGJlbG93IGxpc3RzIHRoZVxuICogbG9jYXRvciBzdHJhdGVnaWVzIHRoYXQgZWFjaCBzZXJ2ZXIgc2hvdWxkIHN1cHBvcnQuIEVsZW1lbnRzIHNob3VsZCBiZSByZXR1cm5lZCBpblxuICogdGhlIG9yZGVyIGxvY2F0ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gSUQgSUQgb2YgYSBXZWJFbGVtZW50IEpTT04gb2JqZWN0IHRvIHJvdXRlIHRoZSBjb21tYW5kIHRvXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3Igc2VsZWN0b3IgdG8gcXVlcnkgdGhlIGVsZW1lbnRzXG4gKiBAcmV0dXJucyB7T2JqZWN0W119IEEgbGlzdCBvZiBXZWJFbGVtZW50IEpTT04gb2JqZWN0cyBmb3IgdGhlIGxvY2F0ZWQgZWxlbWVudHMuXG4gKlxuICogQHNlZSAgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9zZWxlbml1bS93aWtpL0pzb25XaXJlUHJvdG9jb2wjL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzppZC9lbGVtZW50c1xuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcbmltcG9ydCBmaW5kU3RyYXRlZ3kgZnJvbSAnLi4vaGVscGVycy9maW5kRWxlbWVudFN0cmF0ZWd5J1xuXG5sZXQgZWxlbWVudElkRWxlbWVudHMgPSBmdW5jdGlvbiAoaWQsIHNlbGVjdG9yKSB7XG4gICAgaWYgKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIGlkICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgUHJvdG9jb2xFcnJvcignbnVtYmVyIG9yIHR5cGUgb2YgYXJndW1lbnRzIGRvblxcJ3QgYWdyZWUgd2l0aCBlbGVtZW50SWRFbGVtZW50cyBwcm90b2NvbCBjb21tYW5kJylcbiAgICB9XG5cbiAgICBsZXQgZm91bmQgPSBmaW5kU3RyYXRlZ3koc2VsZWN0b3IsIHRydWUpXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEhhbmRsZXIuY3JlYXRlKGAvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvJHtpZH0vZWxlbWVudHNgLCB7XG4gICAgICAgIHVzaW5nOiBmb3VuZC51c2luZyxcbiAgICAgICAgdmFsdWU6IGZvdW5kLnZhbHVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZWxlbWVudElkRWxlbWVudHNcbiJdfQ==