Ruby on Rails 5 速習実践ガイドでRSpecが通らない時

ruby

環境

-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を参照するよう設定する方法が書かれていたのでこちらを試してみることに。

https://gist.github.com/upinetree/fb71a947cc100e7918b7b280485d620c#%E5%AF%BE%E7%AD%96a-chromedriver-helper-%E3%82%92%E4%BD%BF%E3%82%8F%E3%81%9A%E3%81%AB%E8%87%AA%E5%88%86%E3%81%A7-chromedriver-%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B

対策が2つあって

対策A. WSLからWindowsのchromedriverを参照するやり方

対策B. WSLからWindowsのchromedriverを参照するやり方があります。

対策Aのときはchromedriverのバージョンを使っているChromeのバージョンに合わせる必要があります。それを詳しく書いているページがあるのでリンクを載せておきます。

https://qiita.com/sasasoni/items/a690be4a6ada5ceb7d04

Aからやってみるとうまく行かない。
それでBを試すと無事エラー無く上手くいきました。

2日かかったけどちょっと感動。
しかしRSpec難しいです。
まだまだ精進します!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

パソコンとネットの何でも屋さん兼農家見習い中
2021年に奥さんに腎移植して人生の価値観が大きく変わりました
何が起きても諦めずに生き抜く力が一番大切
時々ブログも書いてます

目次