nodium
Version:
Pure nodejs selenium webdriver functional helpers
43 lines (34 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = getSauceLabsDriver;
var _seleniumWebdriver = require('selenium-webdriver');
var _local = require('./local');
function getSauceLabsDriver(username, accessKey, browser, projectName = 'nodium sample test', tunnelName = 'local', build = 'local-0', capabilities = {}) {
// auto detect tunnel name and build depends on travis-ci or circle-ci env var
if (process.env.TRAVIS_JOB_NUMBER) {
tunnelName = process.env.TRAVIS_JOB_NUMBER;
build = 'travis-' + process.env.TRAVIS_BUILD_NUMBER;
}
if (process.env.CIRCLE_BUILD_NUM) {
tunnelName = process.env.CIRCLE_BUILD_NUM;
build = 'circle-' + tunnelName;
}
const builder = new _seleniumWebdriver.Builder().usingServer('http://ondemand.saucelabs.com:80/wd/hub').withCapabilities(_extends({
browserName: browser.name.charAt(0).toUpperCase() + browser.name.slice(1).toLowerCase(),
platform: browser.platform,
version: browser.version,
screenResolution: browser.resolution,
name: projectName,
build,
username,
accessKey,
'tunnel-identifier': tunnelName
}, capabilities));
if (_seleniumWebdriver.Browser.FIREFOX === browser.name.toLowerCase()) {
builder.setFirefoxOptions((0, _local.getFirefoxOptions)());
}
return builder.build();
}