Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do i overwrite protractor.conf.js values from the command line?

I currently have protractor setup to run on our integration server. Inside the protractor.conf.js file i have the following:

 multiCapabilities: [{
    'browserName': 'firefox',
    'platform': 'MAC'
  }, {
    'browserName': 'chrome',
    'platform': 'MAC'
  }]

I would like to override this when running locally from the command line. I've tried the following with no success

protractor --verbose --browser=chrome

Question: How do i switch to only using a single instance of chrome when running locally from the command line?

like image 920
Jack Murphy Avatar asked Jul 01 '15 16:07

Jack Murphy


Video Answer


1 Answers

This is a problem.

According to the source code, browser command line argument is an alias of capabilities.browserName.

According to the referenceConf.js documentation:

// If you would like to run more than one instance of WebDriver on the same
// tests, use multiCapabilities, which takes an array of capabilities.
// If this is specified, capabilities will be ignored.
multiCapabilities: [],

In other words, since multiCapabilities are specified, capabilities are ignored.


What you can try to do is to reset multiCapabilities from command-line:

protractor --verbose --browser=chrome --multiCapabilities

As an another workaround, have a separate config file for running a single browser instance.


Also, list of related topics:

  • Added support for multiCapabilities object and splitTestsBetweenCapabilities boolean
  • Multicapabilities specs ignore the --specs flag on the command line and run anyway
like image 66
alecxe Avatar answered Oct 01 '22 06:10

alecxe