はじめに
macOS で Chromium 版 Edge を利用するようになったけど、そういえば Rails の system test で使えるのかな? と思ったのでやってみました。2020/7/26 時点の話です。
Edge 用 WebDriver の準備
Chromium 版・旧版の両方の WebDriver を WebDriver - Microsoft Edge Developer からダウンロードします。zip ファイルを解凍し、自身の PATH 環境変数が通ったところに配置しましょう。
$ cd ~/Downloads
$ ls
msedgedriver*
$ cd ~/bin/
$ mv ~/Downloads/msedgedriver .
selenium-webdriver gem alpha版
調べてみたところ [selenium-webdriver gem の CHANGES] (https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES) に Chromium 版 Edge に対応した旨の記載がありました。
4.0.0.alpha3 (2019-07-08)
=========================
(省略)
Edge:
* Add support for Chromium based implementation
ということなので Gemfile
に以下のように記載します。現時点では alpha6 が最新版です。
# テスト環境 限定
group :test do
(省略)
# gem 'selenium-webdriver'
# NOTE: Edge Chromium 版利用時は 4.0.0 系が必要
gem 'selenium-webdriver', '~> 4.0.0.alpha6'
end
また test/application_system_test_case.rb
にも以下のように記載します。
# driven_by :selenium, using: :headless_chrome, screen_size: [1150, 950]
# driven_by :selenium, using: :chrome, screen_size: [1150, 950]
# driven_by :selenium, using: :firefox, screen_size: [1150, 950]
# driven_by :selenium, using: :headless_firefox, screen_size: [1150, 950]
# driven_by :selenium, using: :safari, screen_size: [1150, 950]
# Chromium 版 Edge 利用時は selenium-webdriver 4.0.0.alpha3 以上が必要
driven_by :selenium, using: :edge_chrome, screen_size: [1150, 950]
これで bin/bundle update && bin/rails test:system
すれば Chromium 版 Edge が起動して system test が走ります。めでたしめでたし :)
宿題
headless モードでは未だ動かせてません。 selenium-webdriver
の対応待ちなのかな…