From 32b2261bafe0f0811a626582c0412238e17e88b6 Mon Sep 17 00:00:00 2001 From: Thomas Walpole Date: Sat, 17 Aug 2019 13:12:50 -0700 Subject: [PATCH] Set download directory to work with headless chrome 77 --- .rspec | 1 + spec/selenium_spec_chrome.rb | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/.rspec b/.rspec index b9dabb49..02008a93 100644 --- a/.rspec +++ b/.rspec @@ -2,3 +2,4 @@ --order random --require rspec/instafail --format RSpec::Instafail +--format progress diff --git a/spec/selenium_spec_chrome.rb b/spec/selenium_spec_chrome.rb index 9ff05905..1dc32ba3 100644 --- a/spec/selenium_spec_chrome.rb +++ b/spec/selenium_spec_chrome.rb @@ -13,9 +13,13 @@ Selenium::WebDriver::Chrome.path = '/usr/bin/google-chrome-beta' if ENV['CI'] && browser_options = ::Selenium::WebDriver::Chrome::Options.new browser_options.headless! if ENV['HEADLESS'] browser_options.add_option(:w3c, ENV['W3C'] != 'false') +# Chromedriver 77 requires setting this for headless mode on linux +# browser_options.add_preference('download.default_directory', Capybara.save_path) +browser_options.add_preference(:download, default_directory: Capybara.save_path) Capybara.register_driver :selenium_chrome do |app| Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options, timeout: 30).tap do |driver| + # Set download dir for Chrome < 77 driver.browser.download_path = Capybara.save_path end end