環境
-OS: Ubuntu 20.04 LTS(WSL Windows10)
-Rails 5.2.4.4
wsl上のubuntuでRspecが通らないのでターミナルを見ると下記のエラーが…。
Failure/Error: visit login_path
Selenium::WebDriver::Error::WebDriverError:
unable to connect to chromedriver xxx.x.x.x:xxxx
# ./spec/system/tasks_spec.rb:9:in `block (2 levels) in <top (required)>'
Failure/Error: raise Error::WebDriverError, cannot_connect_error_text
Selenium::WebDriver::Error::WebDriverError:
unable to connect to chromedriver xxx.x.x.x:xxxx
WebDriverのエラーとchromedriverのエラーということがわかる。
で、エラーをそのままコピペして調べてみると、同じようなトラブルにあった方のページを発見。
『Ruby on Rails 5 速習実践ガイド』のRSpecの実行部分でテストが通らなく詰まっています。
https://teratail.com/questions/187391
なんと!作者の方からのコメントを発見!
アドバイス通り下記を試してみるも変わらず。
bundle exec chromedriver-helper&
bundle exec rspec
次いで下記リンクの、WSLからWindowsのchromedriverを参照するよう設定する方法が書かれていたのでこちらを試してみることに。
対策が2つあって
対策A. WSLからWindowsのchromedriverを参照するやり方
対策B. WSLからWindowsのchromedriverを参照するやり方があります。
対策Aのときはchromedriverのバージョンを使っているChromeのバージョンに合わせる必要があります。それを詳しく書いているページがあるのでリンクを載せておきます。
https://qiita.com/sasasoni/items/a690be4a6ada5ceb7d04
Aからやってみるとうまく行かない。
それでBを試すと無事エラー無く上手くいきました。
2日かかったけどちょっと感動。
しかしRSpec難しいです。
まだまだ精進します!