Closed yjukaku closed 4 years ago
The method I'm calling which seems to trigger this exception is accept_confirm
defined by Capybara.
This spec passes locally, but not on CircleCI, which is a little strange. I'm running with headless: true
locally as well.
It sounds like the versions of Chrome being tested against are probably different, or the CDP specification has changed
@yjukaku Note - the docs for CDP show that hasBrowserHandler will be passed - https://chromedevtools.github.io/devtools-protocol/tot/Page/#event-javascriptDialogOpening
That's strange then that it's failing on CircleCI. Perhaps the option was added to CDP at a later point. Here's the image I'm using on CircleCI: https://github.com/CircleCI-Public/circleci-dockerfiles/blob/master/ruby/images/2.4.3-stretch/node-browsers/Dockerfile
I'm a newbie to Docker, but it looks to me that it installs a specific version of Chrome (chrome-stable_64.0.3282.186-1_amd64 but it also installs the latest version ofchromedriver
... so that's probably the source of the issue, no? Chromedriver must have added that parameter, but the older version of Chrome is not passing it?
In any case, would you accept a PR that defaults the has_browser_handler
keyword argument to false
?
@yiukaku Chrome 64 was released 2.5 years ago - Since chrome is an evergreen browser we aren't supporting versions that old. Therefore, no I won't be accepting PR that defaults has_browser_handler
because there's tons of other stuff in CDP that won't work with a version of Chrome that old either. Also, the chromedriver versions needs to be matched to the version of Chrome you're using so using the latest chromedriver with a 2.5 year old Chrome isn't really going to work either.
Hello! Thanks for your work on this gem.
I'm working on getting my project running on CircleCI and I'm running into this exception. I saw this closed issue (#18) for a similar exception message, but in my case I believe it has to do with a dialog because the trace points to handling the
Page.javascriptDialogOpening
event.There seems to be a required keyword argument here,
has_browser_handler:
which I'd guess is not being passed to Ruby (?):Any suggestions?