Search code examples
jasmineprotractorwebdriver-manager

Unable to launch multiple browser instances in Protractor


My config file is just launching 1 instance of chrome. I'm expecting it to open 2. This is my config multi capabilities.

multiCapabilities: [
{
browserName: 'chrome',
logName: 'Chrome - Suite 1',
shardTestFiles: false,
maxInstances: 1,
maxSessions: 1,
specs: ['test/protractor/test.js']
},
{
browserName: 'Chrome',
logName: 'Chrome - Suite 2',
shardTestFiles: false,
maxInstances: 1,
maxSessions: 1,
specs: ['test/protractor/test2.js']
}
],

Now I am facing the error as below:

    /usr/local/lib/node_modules/protractor/node_modules/selenium- 
webdriver/lib/error.js:546
      throw new ctor(message);
            ^
SessionNotCreatedError: Unable to create session from {
"desiredCapabilities": {
  "specs": [
    "test\u002fprotractor\u002ftest2.js"
  ],
  "maxSessions": 1,
  "logName": "Chrome - Suite 2",
  "count": 1,
  "browserName": "Chrome",
  "maxInstances": 1,
  "shardTestFiles": false
},
"capabilities": {
  "firstMatch": [
    {
      "browserName": "Chrome"
    }
  ]
}
}
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018- 
11 
14T08:25:53'
System info: host: 'Siva.local', ip: 
'fe80:0:0:0:4b7:1bb3:a4c7:925f%en0', os.name: 'Mac OS X', os.arch: 
'x86_64', os.version: '10.14', java.version: '1.8.0_131'
Driver info: driver.version: unknown

Any help to make it launch 2 instances is highly welcome.


Solution

  • Make your config like below.

    exports.config = {
    
      // Capabilities to be passed to the webdriver instance.
      capabilities: {
        browserName: 'chrome',
    
        // allows different specs to run in parallel.
        // If this is set to be true, specs will be sharded by file
        // (i.e. all files to be run by this set of capabilities will run in parallel).
        // Default is false.
        shardTestFiles: true,
    
        // Maximum number of browser instances that can run in parallel for this
        // set of capabilities. This is only needed if shardTestFiles is true.
        // Default is 1.
        maxInstances: 2,       
      },
    
      // Spec patterns are relative to the current working directly when
      // protractor is called.
      specs: ['spec.js', 'spec2.js'],
    }
    

    Hope it help you..