codeceptjs / codeceptjs/CodeceptJS

wdio plugin launcher options do not have support to set browserstackLocal

Abierto
#2,736 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
757
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.