Capybaraが出力するSelenium::WebDriver::Errorに対応する[WARN対応]

「Everyday Rails - RSpecによるRailsテスト入門」の2017年版を使ってRSpecのキャッチアップをしていたところ、6章でcapybaraを使うUIテストで躓きました。

# 環境

- AWS Cloud9 (amazon linux)
- Gemfileのバージョンは上記テキストと同じ環境構成

# 現象
chromedriverもchromeもインストールされてなかったので、[AWS Cloud9でCapybara+Selenium+Chrome設定時のエラーとその対処法について[ Everyday Rails 6章 ]](https://kuracux.hatenablog.jp/entry/2018/12/30/182617)を参考にインストールを行いました。
結果、テストには成功するようになりましたが、大量のワーニングが発生していました。

```:console
2019-06-28 03:24:51 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::UnhandledError is deprecated. Use Selenium::WebDriver::Error::UnknownError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:51 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotVisibleError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:51 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::InvalidElementStateError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:51 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotSelectableError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::UnhandledError is deprecated. Use Selenium::WebDriver::Error::UnknownError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotVisibleError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::InvalidElementStateError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotSelectableError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::UnhandledError is deprecated. Use Selenium::WebDriver::Error::UnknownError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotVisibleError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::InvalidElementStateError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
2019-06-28 03:24:52 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotSelectableError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
```

どうやら、非推奨となってるメソッドをcapybaraが呼び出しているようです。capybaraのバージョンを最新(2.15.0 ⇒ 3.25.0)にしたら出なくなりました。
折角なのでどのバージョンから出なくなったのかを調べてみたら、3.17.0から出なくなったようです。[capybaraのgithubの変更履歴](https://github.com/teamcapybara/capybara/blob/master/History.md)を観ると、以下のようにあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34636/6b660e87-b8aa-b99b-f9a1-f040b4222b25.png)

マーカーで塗ったFixedの部分が、対応された箇所と思って間違いないでしょう。なぜなら、selenium-webdriverのバージョンを3.4.0 ⇒ 3.4.1にするまでテストは通らなかったからです。

Fixした部分のソースコードを読むことは、今後の自分への課題とします。

テキスト執筆が2017年なので、2019/06/28時点とは差異があるのも当然ですね。参考記事を書いていただいた方に感謝です。