codeceptjs / codeceptjs/CodeceptJS

wdio plugin launcher options do not have support to set browserstackLocal

オープン
#2,736 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
4.2k
フォーク
757
平均マージ
2日 9時間
マージ済み PR(30日)
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 を短くまとめたダイジェスト。