現場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のバージョンを合わせてあげます。
その後テストを走らせると無事に通過することができました。
まとめ
Chromeを使ってテストを走らせているので、本体のバージョンの確認も重要だと理解しました。書籍は読むだけではなく、自分の環境で実行すると予測できないエラーが出てきて学びが深まると感じました。