Skip to content

Commit 9347a8a

Browse files
Ankit098francisf
authored andcommitted
fix: adding wdioSerive capability correctly
When on latest webdriverio add handling to add the capability to bstack:options even if bstack:options is not set by user
1 parent 77818b0 commit 9347a8a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/launcher.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,33 @@ export default class BrowserstackLauncherService implements Services.ServiceInst
3232
if (Array.isArray(capabilities)) {
3333
capabilities.forEach((capability: Capabilities.DesiredCapabilities | any) => {
3434
const wdioServiceVersion = version;
35+
let webdriverIOVersion: any = undefined;
36+
const packageFile: any = process.env.npm_package_json;
37+
if (packageFile !== undefined) {
38+
const { devDependencies, dependencies } = require(packageFile);
39+
if (devDependencies !== undefined) {
40+
webdriverIOVersion = devDependencies['webdriverio']
41+
} else if (dependencies !== undefined) {
42+
webdriverIOVersion = dependencies['webdriverio']
43+
}
44+
} else {
45+
webdriverIOVersion = process.env.npm_package_dependencies_webdriverio;
46+
if (webdriverIOVersion === undefined) {
47+
webdriverIOVersion = process.env.npm_package_devDependencies_webdriverio;
48+
}
49+
}
50+
if (webdriverIOVersion !== undefined) {
51+
webdriverIOVersion = webdriverIOVersion.split('.')[0];
52+
if (webdriverIOVersion[0] === '^') {
53+
webdriverIOVersion = webdriverIOVersion.substring(1);
54+
}
55+
webdriverIOVersion = parseInt(webdriverIOVersion);
56+
}
3557
if (capability['bstack:options']) {
3658
capability['bstack:options'].wdioService = wdioServiceVersion;
59+
} else if (webdriverIOVersion >= 7) {
60+
capability['bstack:options'] = {};
61+
capability['bstack:options'].wdioService = wdioServiceVersion;
3762
} else {
3863
capability['browserstack.wdioService'] = wdioServiceVersion;
3964
}

0 commit comments

Comments
 (0)