web-dev-qa-db-ja.com

Selenium :: WebDriver :: Error :: UnknownError:newSession

Selenium Webdriverでrspecテストを実行しています。セットアップは次のようになります。

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

rspecを実行すると、テストが失敗します

 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)>'

グーグルで回しても結果は得られませんでした。

それを修正する方法について何かアイデアはありますか?

更新:私はfirefox v63.0を使用しています

10
Hirurg103

Firefox 63で使用するには、最新バージョンのgeckodriver(v0.23.0)にアップグレードする必要があります。

14
Thomas Walpole

私はbrew install geckodriverを実行してからbrew link geckodriverを試行しましたが、ターゲットファイルディレクトリがすでに存在するというエラーメッセージが表示されました。そのため、rm '/usr/local/bin/geckodriver'を使用して再度リンクする前に、brew link geckodriverを使用してターゲットファイルディレクトリを削除しました

0
chickensmitten