codeceptjs / codeceptjs/CodeceptJS

wdio plugin launcher options do not have support to set browserstackLocal

未关闭
#2,736 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
4.2k
派生
757
平均合并
2 天 9 小时
30 天内合并 PR
16

描述

#### What are you trying to achieve?
I am using WebDriverIO and @wdio/browserstack-service for testing via browser stack local

#### What do you get instead?
Browserstack local testing is always disabled

#### Provide console output if related. Use `--verbose` mode for more details.
INFO @wdio/browserstack-service: browserstackLocal is not enabled - skipping...

### Details

* CodeceptJS version: 3.0.4
* NodeJS Version: 12.10.0
* Operating System: Windows 10
* webdriverio: 6.10.11
* @wdio/browserstack-service: 6.10.10
* Configuration file:

```js
exports.config = {
tests: './tests/*_test.ts',
timeout: 5000,
output: './output',
helpers: {
WebDriver: {
host: 'hub.browserstack.com',
path: '/wd/hub',
url: 'https://localhost:1101/',
user: 'XX', // credentials
key: 'XX', // credentials
browserstackLocal:true,
browser: 'chrome',
desiredCapabilities: {
'os':'Windows',
'os_version' : '10',
'browserName' : 'Chrome',
'browser_version' : '70.0',
'browserstack.local' : 'true',
'browserstack.debug' : 'true',
'browserstack.networkLogs' : 'true',
'browserstack.user' : 'XX', // credentials
'browserstack.key' : 'XX' // credentials
},
waitForTimeout: 5000 //override default of 1 sec wait with 5 seconds
}
},
include: {
I: './steps_file.ts'
},
gherkin: {
features: "./src/features/*.feature",
steps: "./src/step_definitions/*.steps.ts",
},
bootstrap: null,
mocha: {},
name: 'CodeceptJSWebDriver',
require: ["ts-node/register"],
plugins: {
retryFailedStep: {
enabled: true
},
screenshotOnFail: {
enabled: true
},
allure:{
enabled:true
},
wdio: {
enabled: true,
services: ['browserstack']
}
}
}
```
As a work around for now, I have modified _node_modules\codeceptjs\lib\puglin\wido.js_ and added _browserstackLocal:true_

```
for (const name of config.services) {
// webdriverio v5 style
const Service = safeRequire(`@wdio/${name.toLowerCase()}-service`);
if (Service) {
if (Service.launcher && typeof Service.launcher === 'function') {
const Launcher = Service.launcher;

const version = JSON.parse(fs.readFileSync(path.join(require.resolve('webdriverio'), '/../../', 'package.json')).toString()).version;
if (version.indexOf('5') === 0) {
launchers.push(new Launcher(config));
} else {
const options = { logPath: global.output_dir, installArgs: seleniumInstallArgs, args: seleniumArgs, browserstackLocal:true };
launchers.push(new Launcher(options, [config.capabilities], config));
}
}
if (typeof Service === 'function') {
services.push(new Service(config, config.capabilities));
}
continue;
}

throw new Error(`Couldn't initialize service ${name} from wdio plugin config.\nIt should be available either in '@wdio/${name.toLowerCase()}-service' package`);
}
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。