UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

46 lines (36 loc) 4.09 kB
/** * * 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'; 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=