fv17の日記 - Coding Every Day

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Capybara - Capybara::DriverNotFoundError:が出てRspecでエラーとなる場合の対処方法

Everyday rails Rspecの書籍(P106あたり)を写経してたらエラーで詰まった。

問題

Rspecにおいて、visit root_pathで下記エラー

Capybara::DriverNotFoundError:
       no driver called :selenium_chrome was found, available drivers: :rack_test, :selenium

原因1 - Capybaraのバージョンが古い

GemfileでCapybaraのバージョンを上げる、もしくはバージョン指定を削除してbundle update

上記後にテストをすると、

Selenium::WebDriver::Error::WebDriverError:
       unable to connect to chromedriver 127.0.0.1:9515

まだ駄目らしい。

原因2 - chromedriverのバージョンが古い

まずは、バージョンを確認。

chromedriver -v

下記で確認できる最新バージョンと異なるならば古い。
Downloads - ChromeDriver - WebDriver for Chrome

古い場合は次のコマンドで最新化

chromedriver-update

これで私の場合はテストが動くようになった。