[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はなるべく使いたくないですよね。

https://github.com/flavorjones/chromedriver-helper/issues/83

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

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

参考記事

https://qiita.com/jnchito/items/f9c3be449fd164176efa

コメント

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