現象
次のようなエラーが出る場合の対処法です。
Selenium::WebDriver::Error::UnknownError:
unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
結論
options
引数に以下の2つを追加します。
--disable-dev-sim-usage
--no-sandbox
具体的には、spec/rails_helper.rb
に以下のように記述することになるでしょう。なお、options
引数の追加においては、以下のようにブロックで追加しないと deprecated
と怒られます。
RSpec.configure do |config|
(省略)
config.before(:each, type: :system) do |example|
driven_by :selenium, screen_size: [1400, 1400], using: :headless_chrome do |options|
options.add_argument('--disable-dev-sim-usage')
options.add_argument('--no-sandbox')
end
end
(省略)
end