14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

環境

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

現象

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

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の変更履歴を観ると、以下のようにあります。

image.png

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

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

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

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?