]> source.dussan.org Git - redmine.git/commitdiff
Fix selenium chrome options so files are downloaded to tmp/downloads in system tests...
authorGo MAEDA <maeda@farend.jp>
Wed, 2 Dec 2020 21:48:11 +0000 (21:48 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 2 Dec 2020 21:48:11 +0000 (21:48 +0000)
Patch by Jens Krämer.

git-svn-id: http://svn.redmine.org/redmine/trunk@20549 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/application_system_test_case.rb
test/system/issues_test.rb

index 363e78a127df489672455b740c9e9a34ccd69878..7a4e043481b62bed5477bb50767733d4cdc14877 100644 (file)
@@ -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
 
index 0460887516fc51e556f584983559e90acc7ec6e1..94d39c158b3c3ae2e6e1714661b30e71f4587020 100644 (file)
@@ -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