UNPKG

wdio-browserstack-service

Version:

WebdriverIO service for better Browserstack integration

55 lines (46 loc) 1.46 kB
var Browserstack = require('browserstack-local'); var BrowserstackLauncherService = function BrowserstackLauncherService () {}; BrowserstackLauncherService.prototype.onPrepare = function onPrepare (config, capabilities) { var this$1 = this; if (!config.browserstackLocal) { return; } var opts = Object.assign({}, {key: config.key, forcelocal: true, onlyAutomate: true}, config.browserstackOpts); this.browserstackLocal = new Browserstack.Local(); if (Array.isArray(capabilities)) { capabilities.forEach(function (capability) { capability['browserstack.local'] = true; }); } else if (typeof capabilities === 'object') { capabilities['browserstack.local'] = true; } return new Promise(function (resolve, reject) { this$1.browserstackLocal.start(opts, function (err) { if (err) { return reject(err); } resolve(); }); }); }; BrowserstackLauncherService.prototype.onComplete = function onComplete (exitCode, config) { var this$1 = this; if (!this.browserstackLocal || !this.browserstackLocal.isRunning()) { return; } if (config.browserstackLocalForcedStop) { return process.kill(this.browserstackLocal.pid); } return new Promise(function (resolve, reject) { this$1.browserstackLocal.stop(function (err) { if (err) { return reject(err); } resolve(); }); }); }; module.exports = BrowserstackLauncherService;