[Rails] chromedriver-helperからwebdrivers gemに移行

学習記録

はじめに

Rspecの復習がしたくて久しぶりにTaskleafアプリを開いてテストを走らせたら、エラーが出たので、webdriversに移行した経緯を記事にしました。

発生したエラー

テスト走らせると、このようなエラーが長々と出ました。

> bundle exec rspec spec/system/tasks_spec.rb                                                                                                        +master
2021-10-23 15:09:47 WARN Selenium [DEPRECATION] Selenium::WebDriver::Chrome#driver_path= is deprecated. Use Selenium::WebDriver::Chrome::Service#driver_path= instead.
Capybara starting Puma...
* Version 3.12.6 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:57495
FFFFF

Failures:

  1) タスク管理機能 一覧表示機能 ユーザーAがログインしているとき behaves like ユーザーAが作成したタスクが表示される
     Got 0 failures and 2 other errors:
     Shared Example Group: "ユーザーAが作成したタスクが表示される" called from ./spec/system/tasks_spec.rb:23

     1.1) Failure/Error: visit login_path

          Selenium::WebDriver::Error::SessionNotCreatedError:
            session not created: This version of ChromeDriver only supports Chrome version 92
            Current browser version is 95.0.4638.54 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

コードを紐解く

この部分を見てみると、ChromeDriverに問題があることが推測できます。

 Selenium::WebDriver::Error::SessionNotCreatedError:
            session not created: This version of ChromeDriver only supports Chrome version 92
            Current browser version is 95.0.4638.54 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

gem chromedriver-helperについて

そもそもこのgemですが、調べてみたら2019年3月31日にサポートが終了していました。
そのようなgemはなるべく使いたくないですよね。

NOTICE: Ending support for this gem · Issue #83 · flavorjones/chromedriver-helper
Ahoy, Rubyists. This issue, related to #80 (and through that, to #78 and #79), intends to: Give public notice of ending support for chromedriver-helper, and dep...

webdriversに切り替え

Gemfileの内容を書き換えましょう。

- gem 'chromedriver-helper'
+ gem 'webdrivers'
$ bundle install

インストールしたら再度テストを走らせます。

> bundle exec rspec spec/system/tasks_spec.rb                                                                                                        feature
Capybara starting Puma...
* Version 3.12.6 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:57897
.....

Finished in 8.42 seconds (files took 2.39 seconds to load)
5 examples, 0 failures

今度はうまくいきました。

参考記事

サポートが終了したchromedriver-helperからwebdrivers gemに移行する手順 - Qiita
はじめにRailsのSystem TestやFeature Spec、System SpecとChromeを組み合わせて動かしたい場合は、ChromeDriverのインストールが別途必要になります。…

コメント

タイトルとURLをコピーしました