How to connect and re-use an already opened browser window in Protractor

北城余情 提交于 2019-12-07 16:15:31

What worked for me, for angular2:

  1. Go to WebDriverHub and click on Create Session, copy the generated id (eg: 2919ed90-efac-48ee-83df-46f8e98ebce7), you'll need it in step#2.
  2. Add/Modify protractor.conf.js to reflect the following.

    exports.config.seleniumAddress: 'http://localhost:4444/wd/hub', exports.config.seleniumSessionId: '2919ed90-efac-48ee-83df-46f8e98ebce7', exports.config.directConnect: false

Observe:

  • Setting directConnect to false is important.
  • seleniumSessionId will need to be updated everytime u create new session (wish there was a way to tell, use current running browser window without updating seleniumSessionId everytime)
Gabriel Kohen

On this line you have an example on how it's passed on the command line to Protractor: https://github.com/angular/protractor/commit/3f3805f9496fb130ae01b3e3278ee1ea7684d8e7#diff-b61b72dbab31e232fdb8466ebf733c4dR54 You can use the same parameter in your config to pass the current session ID. You can usually get the current sessionId by browser.getSessionId Example 1:

var runProtractor = spawn('bin/protractor',
     ['spec/attachSession.js', '--seleniumSessionId=' + currentSessionId]);

Example 2 using your config:

var checkOptions = {
     hostname: 'localhost',
     port: 4444,
     seleniumSessionId: yourCurrentSessionId
....
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!