Skip to content

Commit 74e7b4e

Browse files
authored
Browserstack enhancements (#11)
[driver][browserstack] Set default selenium_version to 3.14.0 + use latest browser version
1 parent bb874a6 commit 74e7b4e

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

src/driver/browserstack.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ export default function getBrowserstackDriver(
2222
build = 'Circle #' + localIdentifier;
2323
}
2424

25+
if (browser.version) {
26+
capabilities.browser_version = browser.version;
27+
}
28+
if (!capabilities['browserstack.selenium_version']) {
29+
capabilities['browserstack.selenium_version'] = '3.14.0';
30+
}
31+
2532
const builder = new Builder()
2633
.usingServer('http://hub.browserstack.com/wd/hub')
2734
.withCapabilities({
@@ -30,7 +37,6 @@ export default function getBrowserstackDriver(
3037
browser.name.slice(1).toLowerCase(),
3138
os: browser.platform,
3239
os_version: browser.platformVersion,
33-
browser_version: browser.version,
3440
resolution: browser.resolution,
3541
build,
3642
project,

src/driver/index.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const debug = require('debug')('nodium');
77
let driver;
88

99
if (process.env.BROWSERSTACK) {
10+
const capabilities = {};
1011
const browser = {
1112
name: process.env.SELENIUM_BROWSER || 'chrome',
1213
platform: process.env.BROWSERSTACK_PLATFORM || 'Windows',
@@ -17,31 +18,31 @@ if (process.env.BROWSERSTACK) {
1718
}
1819
if (process.env.BROWSERSTACK_VERSION) {
1920
browser.version = process.env.BROWSERSTACK_VERSION;
20-
} else {
21-
switch (browser.name.toLowerCase()) {
22-
case Browser.CHROME:
23-
browser.version = '69';
24-
break;
25-
case Browser.FIREFOX:
26-
browser.version = '62';
27-
break;
28-
default:
29-
throw new Error(
30-
`Cannot set default version for browser ${browser.name}`
31-
);
32-
}
21+
}
22+
if (process.env.BROWSERSTACK_SELENIUM_VERSION) {
23+
capabilities['browserstack.selenium_version'] =
24+
process.env.BROWSERSTACK_SELENIUM_VERSION;
3325
}
3426

3527
const username =
3628
process.env.BROWSERSTACK_USER || process.env.BROWSERSTACK_USERNAME;
3729
const accessKey = process.env.BROWSERSTACK_ACCESS_KEY;
3830

39-
require('pkginfo')(module, 'name');
31+
const parentModule = module.parent || module;
32+
require('pkginfo')(parentModule, 'name');
4033
const {
4134
exports: { name: project },
42-
} = module;
35+
} = parentModule;
4336

44-
driver = getBrowserstackDriver(username, accessKey, browser, project);
37+
driver = getBrowserstackDriver(
38+
username,
39+
accessKey,
40+
browser,
41+
project,
42+
'local',
43+
'local',
44+
capabilities
45+
);
4546

4647
debug(`Use ${browser.name.toLowerCase()} browser`);
4748
} else if (process.env.SAUCE) {
@@ -70,10 +71,11 @@ if (process.env.BROWSERSTACK) {
7071
const username = process.env.SAUCE_USERNAME;
7172
const accessKey = process.env.SAUCE_ACCESS_KEY;
7273

73-
require('pkginfo')(module, 'name');
74+
const parentModule = module.parent || module;
75+
require('pkginfo')(parentModule, 'name');
7476
const {
7577
exports: { name: projectName },
76-
} = module;
78+
} = parentModule;
7779

7880
driver = getSauceLabsDriver(username, accessKey, browser, projectName);
7981

0 commit comments

Comments
 (0)