Prog-Box

未経験がweb系エンジニアを目指す過程をメモします。 Rails学習中

現場Rails RSpecを使う際のWebDriver::Errorの解決方法

現場RailsのChapter5において、テスト用ライブラリRSpecを使う際に遭遇したエラーの解決方法についてメモします。

結論から言うとクロームのバージョンを上げる(合わせる)事で簡単に解決できました。

 

起きた事

RSpecを導入し、テストコードを書き「bundle exec rspec spec/system/tasks_spec.rb」を走らせると

Selenium::WebDriver::Error::SessionNotCreatedError:

            session not created: This version of ChromeDriver only supports Chrome version 77

 とエラーが表示されました。

 

やった事

エラーメッセージで「ChromeDriverのバージョンが違うよ!77にしてください」と言われているのは分かりましたが、そもそもChromeDriverがどこにあり、何なのかも分からないので修正するポイントが見つけられず、無駄に苦労しました。とりあえず

・Gemfileに記述ミスがないか確認

・bundle installし直す

・chromedriver-helperが悪さしている可能性があるので別のものにする

 と試しましたが解決せず。

 

解決方法

色々とググった結果良さげな情報が見つかったので、これをヒントにしてChromeブラウザ本体のバージョンを上げてみると上手くいきました。

 

Chrome右上をクリック→ヘルプ→Google Chromeについて をクリックするとバージョンの確認ができるので、これでDriverのバージョンを合わせてあげます。

f:id:Takuyakou:20190912192355p:plain

その後テストを走らせると無事に通過することができました。

 

まとめ

Chromeを使ってテストを走らせているので、本体のバージョンの確認も重要だと理解しました。書籍は読むだけではなく、自分の環境で実行すると予測できないエラーが出てきて学びが深まると感じました。