Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Chimp.prototype._createProcesses = function () {
var processes = [];
if (this.options.browser === 'phantomjs') {
process.env['chimp.host'] = this.options.host = 'localhost';
var phantom = new exports.Phantom(this.options);
processes.push(phantom);
} else if (booleanHelper.isFalsey(this.options.host)) {
process.env['chimp.host'] = this.options.host = 'localhost';
var selenium = new exports.Selenium(this.options);
processes.push(selenium);
}
if (booleanHelper.isTruthy(this.options.mocha)) {
var mocha = new exports.Mocha(this.options);
processes.push(mocha);
} else {
if (booleanHelper.isTruthy(this.options.criticalSteps)) {
// domain scenarios
if (booleanHelper.isTruthy(this.options.domainSteps)) {
var _options = JSON.parse((0, _stringify2.default)(this.options));
if (_options.r) {
_options.r = _.isArray(_options.r) ? _options.r : [_options.r];
} else {
_options.r = [];
return booleanHelper.isFalsey(self.options.host);
};
const userHasProvidedBrowser = function() {
return booleanHelper.isTruthy(self.options.browser);
};
if (!this.options.domainOnly) {
if (this.options.browser === 'phantomjs') {
process.env['chimp.host'] = this.options.host = 'localhost';
var phantom = new exports.Phantom(this.options);
processes.push(phantom);
}
else if (userHasProvidedBrowser() && userHasNotProvidedSeleniumHost()) {
process.env['chimp.host'] = this.options.host = 'localhost';
var selenium = new exports.Selenium(this.options);
processes.push(selenium);
}
else if (userHasNotProvidedSeleniumHost()) {
// rewrite the browser to be chrome since "chromedriver" is not a valid browser
process.env['chimp.browser'] = this.options.browser = 'chrome';
process.env['chimp.host'] = this.options.host = 'localhost';
var chromedriver = new exports.Chromedriver(this.options);
processes.push(chromedriver);
}
}
if (booleanHelper.isTruthy(this.options.mocha)) {
var mocha = new exports.Mocha(this.options);
processes.push(mocha);
return;
}
if (self.options.seleniumDebug) {
processHelper.logOutputs('selenium', self.child);
}
process.on('exit', function () {
log.debug('[chimp][selenium] process exit event detected. Stopping process');
self.stop(function () {
log.debug('[chimp][selenium] process exit event stop complete');
});
});
self.sessionManager = new SessionManager({
host: process.env['chimp.host'],
port: process.env['chimp.port'],
browser: process.env['chimp.browser'],
deviceName: process.env['chimp.deviceName']
});
callback(null);
});
});
var setupBrowser = function setupBrowser() {
log.debug('[chimp][helper] getting browser');
var webdriverioConfigOptions = JSON.parse(process.env['chimp.webdriverio']);
var webdriverioOptions = (0, _deepExtend2.default)(webdriverioConfigOptions, {
desiredCapabilities: {
browserName: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.browser']),
platform: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.platform']),
name: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.name']),
version: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.version']),
deviceName: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.deviceName'])
},
user: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.user'] || process.env.SAUCE_USERNAME),
key: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.key'] || process.env.SAUCE_ACCESS_KEY),
host: (0, _environmentVariableParsers.parseNullableString)(process.env['chimp.host']),
port: (0, _environmentVariableParsers.parseNullableInteger)(process.env['chimp.port']),
logLevel: booleanHelper.isTruthy(process.env['chimp.debug']) ? 'verbose' : webdriverioConfigOptions.logLevel,
sync: (0, _environmentVariableParsers.parseBoolean)(process.env['chimp.sync'])
});
global.sessionManager = new SessionFactory((0, _assign2.default)(_.pick(webdriverioOptions, 'host', 'port', 'user', 'key'), {
browser: webdriverioOptions.desiredCapabilities.browserName,
deviceName: webdriverioOptions.desiredCapabilities.deviceName
}));
if (booleanHelper.isTruthy(process.env['chimp.watch'])) {
webdriverioOptions.desiredCapabilities.applicationCacheEnabled = false;
}
log.debug('[chimp][helper] webdriverioOptions are ', (0, _stringify2.default)(webdriverioOptions));
var remoteSession = void 0;
log.debug('[chimp][helper] getting browser');
const webdriverioConfigOptions = JSON.parse(process.env['chimp.webdriverio']);
const webdriverioOptions = merge(
webdriverioConfigOptions,
{
desiredCapabilities: {
browserName: parseNullableString(process.env['chimp.browser']),
platform: parseNullableString(process.env['chimp.platform']),
name: parseNullableString(process.env['chimp.name']),
version: parseNullableString(process.env['chimp.browserVersion']),
deviceName: parseNullableString(process.env['chimp.deviceName']),
},
user: parseNullableString(process.env['chimp.user'] || process.env.SAUCE_USERNAME),
key: parseNullableString(process.env['chimp.key'] || process.env.SAUCE_ACCESS_KEY),
host: parseNullableString(process.env['chimp.host']),
port: parseNullableInteger(process.env['chimp.port']),
logLevel: booleanHelper.isTruthy(process.env['chimp.debug']) ?
'verbose' : webdriverioConfigOptions.logLevel,
sync: parseBoolean(process.env['chimp.sync']),
}
);
global.sessionManager = new SessionFactory(Object.assign(
_.pick(webdriverioOptions, 'host', 'port', 'user', 'key'),
{
browser: webdriverioOptions.desiredCapabilities.browserName,
deviceName: webdriverioOptions.desiredCapabilities.deviceName,
}
));
if (booleanHelper.isTruthy(process.env['chimp.watch'])) {
return;
}
if (self.options.seleniumDebug) {
processHelper.logOutputs('selenium', self.child);
}
process.on('exit', function () {
log.debug('[chimp][selenium] process exit event detected. Stopping process');
self.stop(function () {
log.debug('[chimp][selenium] process exit event stop complete');
});
});
self.sessionManager = new SessionManager({
host: process.env['chimp.host'],
port: process.env['chimp.port'],
browser: process.env['chimp.browser'],
deviceName: process.env['chimp.deviceName']
});
callback(null);
});
});