Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

wdio plugin launcher options do not have support to set browserstackLocal

Open
#2,736 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript, nodejs
Domain
testing-qa

Research direction

Start by inspecting the wdio plugin launcher at node_modules/codeceptjs/lib/puglin/wido.js and compare the launcher options with the provided configuration. Verify that the browserstackLocal setting is passed through and that BrowserStack local testing is no longer reported as disabled.

Written by the indexing model from the issue text.

Description

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:
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`);
  }
Dominant language
JavaScript
Stars
4.2k
Forks
756
Avg merge
2d 9h
Merged PRs (30d)
16

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from codeceptjs/CodeceptJS

All issues in codeceptjs/CodeceptJS

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.