@testim/testim-cli
Version:
Command line interface for running Testing on you CI
46 lines (36 loc) • 4.09 kB
JavaScript
/**
*
* 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
*
*/
;
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 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9lbGVtZW50SWRFbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FnQjhCLHVCQUF1Qjs7MENBQzVCLGdDQUFnQzs7OztBQUV6RCxJQUFJLGdCQUFnQixHQUFHLFNBQW5CLGdCQUFnQixDQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDekMsUUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFO0FBQ2xELGNBQU0scUNBQWtCLGlGQUFpRixDQUFDLENBQUE7S0FDN0c7O0FBRUQsUUFBSSxLQUFLLEdBQUcsNkNBQWEsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQ3RDLFdBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGtDQUFnQyxFQUFFLGVBQVk7QUFDM0UsYUFBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO0FBQ2xCLGFBQUssRUFBRSxLQUFLLENBQUMsS0FBSztLQUNyQixDQUFDLENBQUE7Q0FDTCxDQUFBOztxQkFFYyxnQkFBZ0IiLCJmaWxlIjoiZWxlbWVudElkRWxlbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFNlYXJjaCBmb3IgYW4gZWxlbWVudCBvbiB0aGUgcGFnZSwgc3RhcnRpbmcgZnJvbSBhbiBlbGVtZW50LlxuICogVGhlIGxvY2F0ZWQgZWxlbWVudCB3aWxsIGJlIHJldHVybmVkIGFzIGEgV2ViRWxlbWVudCBKU09OIG9iamVjdC5cbiAqIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyB0aGUgbG9jYXRvciBzdHJhdGVnaWVzIHRoYXQgZWFjaCBzZXJ2ZXIgc2hvdWxkIHN1cHBvcnQuXG4gKiBFYWNoIGxvY2F0b3IgbXVzdCByZXR1cm4gdGhlIGZpcnN0IG1hdGNoaW5nIGVsZW1lbnQgbG9jYXRlZCBpbiB0aGUgRE9NLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBJRCBJRCBvZiBhIFdlYkVsZW1lbnQgSlNPTiBvYmplY3QgdG8gcm91dGUgdGhlIGNvbW1hbmQgdG9cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBzZWxlY3RvciB0byBxdWVyeSB0aGUgZWxlbWVudFxuICogQHJldHVybnMge1N0cmluZ30gQSBXZWJFbGVtZW50IEpTT04gb2JqZWN0IGZvciB0aGUgbG9jYXRlZCBlbGVtZW50LlxuICpcbiAqIEBzZWUgIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3Avc2VsZW5pdW0vd2lraS9Kc29uV2lyZVByb3RvY29sIy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86aWQvZWxlbWVudFxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcbmltcG9ydCBmaW5kU3RyYXRlZ3kgZnJvbSAnLi4vaGVscGVycy9maW5kRWxlbWVudFN0cmF0ZWd5J1xuXG5sZXQgZWxlbWVudElkRWxlbWVudCA9IGZ1bmN0aW9uIChpZCwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIGlkICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgUHJvdG9jb2xFcnJvcignbnVtYmVyIG9yIHR5cGUgb2YgYXJndW1lbnRzIGRvblxcJ3QgYWdyZWUgd2l0aCBlbGVtZW50SWRFbGVtZW50IHByb3RvY29sIGNvbW1hbmQnKVxuICAgIH1cblxuICAgIGxldCBmb3VuZCA9IGZpbmRTdHJhdGVneShzdHJpbmcsIHRydWUpXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEhhbmRsZXIuY3JlYXRlKGAvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvJHtpZH0vZWxlbWVudGAsIHtcbiAgICAgICAgdXNpbmc6IGZvdW5kLnVzaW5nLFxuICAgICAgICB2YWx1ZTogZm91bmQudmFsdWVcbiAgICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBlbGVtZW50SWRFbGVtZW50XG4iXX0=