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

100% Statements 8/8
40% Branches 2/5
0% Functions 0/1
100% Lines 2/2
3 statements, 2 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                                                               
/**
 *
 * Get the value of an element's attribute.
 *
 * @param {String} ID             ID of a WebElement JSON object to route the command to
 * @param {String} attributeName  attribute name of element you want to receive
 *
 * @returns {String|null} The value of the attribute, or null if it is not set on the element.
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/attribute/:name
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
 
var _utilsErrorHandler = require('../utils/ErrorHandler');
 
var elementIdAttribute = function elementIdAttribute(id, attributeName) {
    if (typeof id !== 'string' && typeof id !== 'number' || typeof attributeName !== 'string') {
        throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with elementIdAttribute protocol command');
    }
 
    return this.requestHandler.create('/session/:sessionId/element/' + id + '/attribute/' + attributeName);
};
 
exports['default'] = elementIdAttribute;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvZWxlbWVudElkQXR0cmlidXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWM4Qix1QkFBdUI7O0FBRXJELElBQUksa0JBQWtCLEdBQUcsU0FBckIsa0JBQWtCLENBQWEsRUFBRSxFQUFFLGFBQWEsRUFBRTtBQUNsRCxRQUFJLEFBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSyxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUU7QUFDekYsY0FBTSxxQ0FBa0IsbUZBQW1GLENBQUMsQ0FBQTtLQUMvRzs7QUFFRCxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxrQ0FBZ0MsRUFBRSxtQkFBYyxhQUFhLENBQUcsQ0FBQTtDQUNwRyxDQUFBOztxQkFFYyxrQkFBa0IiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9wcm90b2NvbC9lbGVtZW50SWRBdHRyaWJ1dGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBHZXQgdGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBhdHRyaWJ1dGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IElEICAgICAgICAgICAgIElEIG9mIGEgV2ViRWxlbWVudCBKU09OIG9iamVjdCB0byByb3V0ZSB0aGUgY29tbWFuZCB0b1xuICogQHBhcmFtIHtTdHJpbmd9IGF0dHJpYnV0ZU5hbWUgIGF0dHJpYnV0ZSBuYW1lIG9mIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVjZWl2ZVxuICpcbiAqIEByZXR1cm5zIHtTdHJpbmd8bnVsbH0gVGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUsIG9yIG51bGwgaWYgaXQgaXMgbm90IHNldCBvbiB0aGUgZWxlbWVudC5cbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmlkL2F0dHJpYnV0ZS86bmFtZVxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IGVsZW1lbnRJZEF0dHJpYnV0ZSA9IGZ1bmN0aW9uIChpZCwgYXR0cmlidXRlTmFtZSkge1xuICAgIGlmICgodHlwZW9mIGlkICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgaWQgIT09ICdudW1iZXInKSB8fCB0eXBlb2YgYXR0cmlidXRlTmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFByb3RvY29sRXJyb3IoJ251bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyBkb25cXCd0IGFncmVlIHdpdGggZWxlbWVudElkQXR0cmlidXRlIHByb3RvY29sIGNvbW1hbmQnKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RIYW5kbGVyLmNyZWF0ZShgL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LyR7aWR9L2F0dHJpYnV0ZS8ke2F0dHJpYnV0ZU5hbWV9YClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZWxlbWVudElkQXR0cmlidXRlXG4iXX0=