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