From: Go MAEDA Date: Wed, 2 Dec 2020 21:48:11 +0000 (+0000) Subject: Fix selenium chrome options so files are downloaded to tmp/downloads in system tests... X-Git-Tag: 4.2.0~269 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b42e8c2040f050cd41cfc223c3168def8bf35c44;p=redmine.git Fix selenium chrome options so files are downloaded to tmp/downloads in system tests (#34119). Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@20549 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb index 363e78a12..7a4e04348 100644 --- a/test/application_system_test_case.rb +++ b/test/application_system_test_case.rb @@ -30,7 +30,7 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase # Allow running tests using a remote Selenium hub options[:url] = ENV['SELENIUM_REMOTE_URL'] if ENV['SELENIUM_REMOTE_URL'] options[:desired_capabilities] = Selenium::WebDriver::Remote::Capabilities.chrome( - 'chromeOptions' => { + 'goog:chromeOptions' => { 'prefs' => { 'download.default_directory' => DOWNLOADS_PATH, 'download.prompt_for_download' => false, @@ -76,14 +76,11 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase end def clear_downloaded_files - # https://github.com/SeleniumHQ/selenium/issues/5292 - FileUtils.rm downloaded_files if Redmine::Platform.mswin? + FileUtils.rm downloaded_files end def downloaded_files(filename='*') - # https://github.com/SeleniumHQ/selenium/issues/5292 - downloaded_path = Redmine::Platform.mswin? ? DOWNLOADS_PATH : "#{ENV['HOME']}/Downloads" - Dir.glob("#{downloaded_path}/#{filename}"). + Dir.glob("#{DOWNLOADS_PATH}/#{filename}"). reject{|f| f=~/\.(tmp|crdownload)$/}.sort_by{|f| File.mtime(f)} end diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index 046088751..94d39c158 100644 --- a/test/system/issues_test.rb +++ b/test/system/issues_test.rb @@ -519,9 +519,7 @@ class IssuesSystemTest < ApplicationSystemTestCase click_on 'CSV' click_on 'Export' - # https://github.com/SeleniumHQ/selenium/issues/5292 - # if issues.csv exists, Chrome creates issues (1).csv, issues (2).csv ... - csv = CSV.read(downloaded_file("issues*.csv")) + csv = CSV.read(downloaded_file("issues.csv")) subject_index = csv.shift.index('Subject') subjects = csv.map {|row| row[subject_index]} assert_equal subjects.sort, subjects