codeceptjs / codeceptjs/CodeceptJS

wdio plugin launcher options do not have support to set browserstackLocal

Đang mở
#2,736 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
4.2k
Fork
757
Merge trung bình
2 ngày 9 giờ
Pull request đã merge (30 ngày)
16

Mô tả

#### 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`);
}
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.