wdio plugin launcher options do not have support to set browserstackLocal

Aperta
#2,736 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
javascript, nodejs
Ambito
testing-qa

Direzione di ricerca

Inizia ispezionando il launcher del plugin wdio in node_modules/codeceptjs/lib/puglin/wido.js e confronta le opzioni del launcher con la configurazione fornita. Verifica che l'impostazione browserstackLocal venga trasmessa e che i test locali di BrowserStack non siano più indicati come disabilitati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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`);
  }
Lingua principale
JavaScript
Stelle
4.2k
Fork
756
Merge medio
2g 9h
PR unite (30g)
16

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di codeceptjs/CodeceptJS

Tutte le issue di codeceptjs/CodeceptJS

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.