12
votes

I am running my rspec test with selenium webdriver. The setup looks the following way:

require 'capybara/dsl'

Capybara.app = Rack::File.new File.expand_path('../fixtures', __FILE__)

require 'selenium-webdriver'

Capybara.register_driver :firefox do |app|
  options = ::Selenium::WebDriver::Firefox::Options.new
  options.args << '--headless' if travis?

  Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
end
Capybara.default_driver = :firefox

When I run rspec the tests fail with

 Failure/Error: visit '/select2-v3/index.html'

 Selenium::WebDriver::Error::UnknownError:
   newSession
 # WebDriverError@chrome://marionette/content/error.js:178:5
 # UnknownCommandError@chrome://marionette/content/error.js:472:5
 # despatch@chrome://marionette/content/server.js:290:13
 # execute@chrome://marionette/content/server.js:271:11
 # onPacket/<@chrome://marionette/content/server.js:246:15
 # onPacket@chrome://marionette/content/server.js:245:8
 # _onJSONObjectReady/<@chrome://marionette/content/transport.js:490:9
 # ./spec/select2_spec.rb:6:in `block (2 levels) in <top (required)>'

Googling around didn't give me any results.

Do you have any ideas how to fix it?

Update: I am using firefox v63.0

2
Have same issue after firefox update to version 63.0. The firefox version 60.0 is all good.Oleg Kulyk

2 Answers

15
votes

You need to upgrade to the latest version of geckodriver (v0.23.0) to work with Firefox 63.

0
votes

I did brew install geckodriver then tried brew link geckodriver then an error message says the target file directory already exist. So I removed the target file directory using rm '/usr/local/bin/geckodriver' before linking again using brew link geckodriver