OS: Any
Selenium-webdriver Version: 3.3.0
Browser: Firefox
Browser Version: 52.0 (64 bit)
Firefox is launched and controlled with selenium-webdriver
Throws a no sessionId in returned payload error when trying to open Firefox
(with a test suite setup using cucumber + capybara + selenium-webdriver + marionette)
bundle exec cucumber
no sessionId in returned payload (Selenium::WebDriver::Error::WebDriverError)
This looks to be related - https://github.com/SeleniumHQ/selenium/issues/3616
If you're using geckodriver 0.15 you need to use selenium-webdriver version >= 3.3
@lmtierney I apologize it's early, somehow got my envs mixed up, this is with 3.3.0, updated the issue to reflect that.
Do you have geckodriver 0.15?
In 3.0.5, the error we are getting is TypeError: Given browserVersion [object String] "any", but current version is [object String] "52.0" (Selenium::WebDriver::Error::SessionNotCreatedError). When I update capybara (2.12.1) + selenium webdriver (3.3.0), the issue as described above starts happening. Our test suite was running fine yesterday until Firefox was updated - am using circle and have had to force install latest version of Firefox for marionette/gecko compatibility. I don't have geckodriver manually installed anywhere, AFAIK that's all being handled through the bindings in capybara.
The 3.0.5 error is because of firefox updating to 52. AFAIK capybara does not install geckodriver. Sounds like you'll need to force install the latest version of geckodriver as well
I am seeing the docs on capybara saying Using Firefox 48+ requires geckodriver and selenium-webdriver v3, I'm confused how/why this was working yesterday with 3.0.5 and FF 51 without the need for manually installing gecko anywhere and today suddenly I need to install geckodriver.
That means you geckodriver somewhere installed. If you're on a *nix system type which geckodriver or geckodriver --version
Locally that returns ~/.rbenv/shims/geckodriver and 0.13.0. I need to do some digging as to how/where that's getting installed from, I didn't manually install it, and given the location in .rbenv/shims makes me think it's being installed from a gem somewhere.
Annnnnnnnnd I still haven't finished my coffee yet - we have the geckodriver-helper gem installed that's handling that for us. Thanks for your help this morning @lmtierney 馃憤
So does running the script for that geckodriver-update fix the issue?
@lmtierney yes it does, was just about to come back and add that comment for anyone else having the problem.
@streetlogics this gem handles all the webdrivers and is supposed to keep them up to date https://github.com/titusfortner/webdrivers
Most helpful comment
If you're using geckodriver 0.15 you need to use selenium-webdriver version
>= 3.3