chromeとchromedriverを最新の75にアップデートしたら、capybaraのfeature specで以下のエラーが出るようになりました。
Failure/Error: Unable to infer file and line number from backtrace
Selenium::WebDriver::Error::UnknownCommandError:
unknown command: Cannot call non W3C standard command while in W3C mode
・・・なんのこっちゃい
調べてみると、v75からW3CモードがデフォルトONになったそうです
The most noticeable change is ChromeDriver now runs in W3C standard compliant mode by default. Other changes include:
Downloads - ChromeDriver - WebDriver for Chrome
解決策
今回、chromedriverのオプションにw3c: false
を追加することで解決できました。
spec/support/capybara.rb
Capybara.register_driver :headless_chrome do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
chromeOptions: {
args: %w[headless disable-gpu window-size=1680,1050],
w3c: false
}
)
Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: capabilities)
end
以上です