grunt-webdriver
Version:
grunt-webdriver is a grunt plugin to run selenium tests with the WebdriverIO test runner
34 lines (25 loc) • 1.24 kB
JavaScript
var _path = _interopRequireDefault(require("path"));
var _resolve = _interopRequireDefault(require("resolve"));
var _deepmerge = _interopRequireDefault(require("deepmerge"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = function (grunt) {
grunt.registerMultiTask('webdriver', 'run wdio test runner', function () {
var done = this.async();
var opts = (0, _deepmerge.default)(this.options(), this.data);
var Launcher = require(_path.default.join(_path.default.dirname(_resolve.default.sync('@wdio/cli')), 'launcher')).default;
if (typeof opts.configFile !== 'string') {
grunt.log.error('You need to define "configFile" property with the path to your wdio.conf.js');
return done(1);
}
var wdio = new Launcher(opts.configFile, opts);
grunt.log.debug("spawn wdio with these attributes:\n".concat(JSON.stringify(opts, null, 2)));
return wdio.run().then(function (code) {
grunt.log.debug("wdio testrunner finished with exit code ".concat(code));
return done(code === 0);
}, function (e) {
grunt.log.error("Something went wrong: ".concat(e));
return done(false);
});
});
};
;