Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

wdio plugin launcher options do not have support to set browserstackLocal

未关闭
#2,736 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
javascript, nodejs
领域
testing-qa

调研方向

首先检查 node_modules/codeceptjs/lib/puglin/wido.js 中的 wdio 插件启动器,并将启动器选项与提供的配置进行比较。确认 browserstackLocal 设置已传递,并且 BrowserStack 本地测试不再被报告为已禁用。

由索引模型根据 Issue 内容生成。

描述

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`);
  }
主要语言
JavaScript
星标
4.2k
派生
756
平均合并
2 天 9 小时
30 天内合并 PR
16

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

codeceptjs/CodeceptJS 的其他 Issue

查看 codeceptjs/CodeceptJS 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

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