UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

130 lines (101 loc) 7.98 kB
/** * webdriverio * https://github.com/Camme/webdriverio * * A WebDriver module for nodejs. Either use the super easy help commands or use the base * Webdriver wire protocol commands. Its totally inspired by jellyfishs webdriver, but the * goal is to make all the webdriver protocol items available, as near the original as possible. * * Copyright (c) 2013 Camilo Tapia <camilo.tapia@gmail.com> * Licensed under the MIT license. * * Contributors: * Dan Jenkins <dan.jenkins@holidayextras.com> * Christian Bromann <mail@christian-bromann.com> * Vincent Voyer <vincent@zeroload.net> */ 'use strict'; var _getIterator = require('babel-runtime/core-js/get-iterator')['default']; var _Object$keys = require('babel-runtime/core-js/object/keys')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _libWebdriverio = require('./lib/webdriverio'); var _libWebdriverio2 = _interopRequireDefault(_libWebdriverio); var _libMultibrowser = require('./lib/multibrowser'); var _libMultibrowser2 = _interopRequireDefault(_libMultibrowser); var _libUtilsErrorHandler = require('./lib/utils/ErrorHandler'); var _libUtilsErrorHandler2 = _interopRequireDefault(_libUtilsErrorHandler); var _libHelpersGetImplementedCommands = require('./lib/helpers/getImplementedCommands'); var _libHelpersGetImplementedCommands2 = _interopRequireDefault(_libHelpersGetImplementedCommands); var _packageJson = require('./package.json'); var _packageJson2 = _interopRequireDefault(_packageJson); var IMPLEMENTED_COMMANDS = (0, _libHelpersGetImplementedCommands2['default'])(); var VERSION = _packageJson2['default'].version; var remote = function remote(options, modifier) { if (options === undefined) options = {}; /** * initialise monad */ var wdio = (0, _libWebdriverio2['default'])(options, modifier); /** * build prototype: commands */ var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = _getIterator(_Object$keys(IMPLEMENTED_COMMANDS)), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var commandName = _step.value; wdio.lift(commandName, IMPLEMENTED_COMMANDS[commandName]); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator['return']) { _iterator['return'](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } var prototype = wdio(); prototype.defer.resolve(); return prototype; }; var multiremote = function multiremote(options) { var multibrowser = new _libMultibrowser2['default'](); var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { for (var _iterator2 = _getIterator(_Object$keys(options)), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var browserName = _step2.value; multibrowser.addInstance(browserName, remote(options[browserName], multibrowser.getInstanceModifier())); } } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2['return']) { _iterator2['return'](); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } return remote(options, multibrowser.getModifier()); }; exports.remote = remote; exports.multiremote = multiremote; exports.VERSION = VERSION; exports.ErrorHandler = _libUtilsErrorHandler2['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQWlCd0IsbUJBQW1COzs7OytCQUNsQixvQkFBb0I7Ozs7b0NBQ3BCLDBCQUEwQjs7OztnREFDaEIsc0NBQXNDOzs7OzJCQUN6RCxnQkFBZ0I7Ozs7QUFFaEMsSUFBTSxvQkFBb0IsR0FBRyxvREFBd0IsQ0FBQTtBQUNyRCxJQUFNLE9BQU8sR0FBRyx5QkFBSSxPQUFPLENBQUE7O0FBRTNCLElBQUksTUFBTSxHQUFHLFNBQVQsTUFBTSxDQUFhLE9BQU8sRUFBTyxRQUFRLEVBQUU7UUFBeEIsT0FBTyxnQkFBUCxPQUFPLEdBQUcsRUFBRTs7Ozs7QUFJL0IsUUFBSSxJQUFJLEdBQUcsaUNBQVksT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBOzs7Ozs7Ozs7O0FBS3pDLDBDQUF3QixhQUFZLG9CQUFvQixDQUFDLDRHQUFFO2dCQUFsRCxXQUFXOztBQUNoQixnQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtTQUM1RDs7Ozs7Ozs7Ozs7Ozs7OztBQUVELFFBQUksU0FBUyxHQUFHLElBQUksRUFBRSxDQUFBO0FBQ3RCLGFBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7QUFDekIsV0FBTyxTQUFTLENBQUE7Q0FDbkIsQ0FBQTs7QUFFRCxJQUFJLFdBQVcsR0FBRyxTQUFkLFdBQVcsQ0FBYSxPQUFPLEVBQUU7QUFDakMsUUFBSSxZQUFZLEdBQUcsa0NBQWtCLENBQUE7Ozs7Ozs7QUFFckMsMkNBQXdCLGFBQVksT0FBTyxDQUFDLGlIQUFFO2dCQUFyQyxXQUFXOztBQUNoQix3QkFBWSxDQUFDLFdBQVcsQ0FDcEIsV0FBVyxFQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FDbkUsQ0FBQTtTQUNKOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUQsV0FBTyxNQUFNLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0NBQ3JELENBQUE7O1FBRVEsTUFBTSxHQUFOLE1BQU07UUFBRSxXQUFXLEdBQVgsV0FBVztRQUFFLE9BQU8sR0FBUCxPQUFPO1FBQUUsWUFBWSIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogd2ViZHJpdmVyaW9cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9DYW1tZS93ZWJkcml2ZXJpb1xuICpcbiAqIEEgV2ViRHJpdmVyIG1vZHVsZSBmb3Igbm9kZWpzLiBFaXRoZXIgdXNlIHRoZSBzdXBlciBlYXN5IGhlbHAgY29tbWFuZHMgb3IgdXNlIHRoZSBiYXNlXG4gKiBXZWJkcml2ZXIgd2lyZSBwcm90b2NvbCBjb21tYW5kcy4gSXRzIHRvdGFsbHkgaW5zcGlyZWQgYnkgamVsbHlmaXNocyB3ZWJkcml2ZXIsIGJ1dCB0aGVcbiAqIGdvYWwgaXMgdG8gbWFrZSBhbGwgdGhlIHdlYmRyaXZlciBwcm90b2NvbCBpdGVtcyBhdmFpbGFibGUsIGFzIG5lYXIgdGhlIG9yaWdpbmFsIGFzIHBvc3NpYmxlLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMyBDYW1pbG8gVGFwaWEgPGNhbWlsby50YXBpYUBnbWFpbC5jb20+XG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKlxuICogQ29udHJpYnV0b3JzOlxuICogICAgIERhbiBKZW5raW5zIDxkYW4uamVua2luc0Bob2xpZGF5ZXh0cmFzLmNvbT5cbiAqICAgICBDaHJpc3RpYW4gQnJvbWFubiA8bWFpbEBjaHJpc3RpYW4tYnJvbWFubi5jb20+XG4gKiAgICAgVmluY2VudCBWb3llciA8dmluY2VudEB6ZXJvbG9hZC5uZXQ+XG4gKi9cblxuaW1wb3J0IFdlYmRyaXZlcklPIGZyb20gJy4vbGliL3dlYmRyaXZlcmlvJ1xuaW1wb3J0IE11bHRpYnJvd3NlciBmcm9tICcuL2xpYi9tdWx0aWJyb3dzZXInXG5pbXBvcnQgRXJyb3JIYW5kbGVyIGZyb20gJy4vbGliL3V0aWxzL0Vycm9ySGFuZGxlcidcbmltcG9ydCBnZXRJbXBsZW1lbnRlZENvbW1hbmRzIGZyb20gJy4vbGliL2hlbHBlcnMvZ2V0SW1wbGVtZW50ZWRDb21tYW5kcydcbmltcG9ydCBwa2cgZnJvbSAnLi9wYWNrYWdlLmpzb24nXG5cbmNvbnN0IElNUExFTUVOVEVEX0NPTU1BTkRTID0gZ2V0SW1wbGVtZW50ZWRDb21tYW5kcygpXG5jb25zdCBWRVJTSU9OID0gcGtnLnZlcnNpb25cblxubGV0IHJlbW90ZSA9IGZ1bmN0aW9uIChvcHRpb25zID0ge30sIG1vZGlmaWVyKSB7XG4gICAgLyoqXG4gICAgICogaW5pdGlhbGlzZSBtb25hZFxuICAgICAqL1xuICAgIGxldCB3ZGlvID0gV2ViZHJpdmVySU8ob3B0aW9ucywgbW9kaWZpZXIpXG5cbiAgICAvKipcbiAgICAgKiBidWlsZCBwcm90b3R5cGU6IGNvbW1hbmRzXG4gICAgICovXG4gICAgZm9yIChsZXQgY29tbWFuZE5hbWUgb2YgT2JqZWN0LmtleXMoSU1QTEVNRU5URURfQ09NTUFORFMpKSB7XG4gICAgICAgIHdkaW8ubGlmdChjb21tYW5kTmFtZSwgSU1QTEVNRU5URURfQ09NTUFORFNbY29tbWFuZE5hbWVdKVxuICAgIH1cblxuICAgIGxldCBwcm90b3R5cGUgPSB3ZGlvKClcbiAgICBwcm90b3R5cGUuZGVmZXIucmVzb2x2ZSgpXG4gICAgcmV0dXJuIHByb3RvdHlwZVxufVxuXG5sZXQgbXVsdGlyZW1vdGUgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgIGxldCBtdWx0aWJyb3dzZXIgPSBuZXcgTXVsdGlicm93c2VyKClcblxuICAgIGZvciAobGV0IGJyb3dzZXJOYW1lIG9mIE9iamVjdC5rZXlzKG9wdGlvbnMpKSB7XG4gICAgICAgIG11bHRpYnJvd3Nlci5hZGRJbnN0YW5jZShcbiAgICAgICAgICAgIGJyb3dzZXJOYW1lLFxuICAgICAgICAgICAgcmVtb3RlKG9wdGlvbnNbYnJvd3Nlck5hbWVdLCBtdWx0aWJyb3dzZXIuZ2V0SW5zdGFuY2VNb2RpZmllcigpKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbW90ZShvcHRpb25zLCBtdWx0aWJyb3dzZXIuZ2V0TW9kaWZpZXIoKSlcbn1cblxuZXhwb3J0IHsgcmVtb3RlLCBtdWx0aXJlbW90ZSwgVkVSU0lPTiwgRXJyb3JIYW5kbGVyIH1cbiJdfQ==