wdio plugin launcher options do not have support to set browserstackLocal

オープン
#2,736 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
javascript, nodejs
領域
testing-qa

調査の方向性

まず、node_modules/codeceptjs/lib/puglin/wido.js にある wdio plugin launcher を調べ、launcher のオプションと提供された設定を比較します。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時間
マージ済み PR(30日)
16

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

codeceptjs/CodeceptJS のほかの issue

codeceptjs/CodeceptJS の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。