Skip to content

Commit

Permalink
Merge pull request #13540 from opf/fix/bump-selenium-remove-webdrivers
Browse files Browse the repository at this point in the history
Remove webdrivers once more, let selenium handle chromedriver
  • Loading branch information
oliverguenther committed Aug 22, 2023
2 parents 1b24035 + fb60bc9 commit 9c952f3
Show file tree
Hide file tree
Showing 8 changed files with 11 additions and 31 deletions.
3 changes: 1 addition & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,7 @@ group :test do
gem 'capybara', '~> 3.39.0'
gem 'capybara-screenshot', '~> 1.0.17'
gem 'cuprite', '~> 0.14.3'
gem 'selenium-webdriver', '~> 4.0'
gem 'webdrivers', '~> 5.2.0'
gem 'selenium-webdriver', '~> 4.11.0'

gem 'fuubar', '~> 2.5.0'
gem 'timecop', '~> 0.9.0'
Expand Down
9 changes: 2 additions & 7 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ GEM
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
secure_headers (6.5.0)
selenium-webdriver (4.10.0)
selenium-webdriver (4.11.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
Expand Down Expand Up @@ -972,10 +972,6 @@ GEM
rack (>= 2.0.9)
warden-basic_auth (0.2.1)
warden (~> 1.2)
webdrivers (5.2.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (~> 4.0)
webfinger (2.1.2)
activesupport
faraday (~> 2.0)
Expand Down Expand Up @@ -1153,7 +1149,7 @@ DEPENDENCIES
rubytree (~> 2.0.0)
sanitize (~> 6.0.2)
secure_headers (~> 6.5.0)
selenium-webdriver (~> 4.0)
selenium-webdriver (~> 4.11.0)
semantic (~> 1.6.1)
shoulda-context (~> 2.0)
shoulda-matchers (~> 5.0)
Expand All @@ -1178,7 +1174,6 @@ DEPENDENCIES
view_component
warden (~> 1.2)
warden-basic_auth (~> 0.2.1)
webdrivers (~> 5.2.0)
webmock (~> 3.12)
will_paginate (~> 4.0.0)
with_advisory_lock (~> 4.6.0)
Expand Down
4 changes: 0 additions & 4 deletions config/environments/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,4 @@

# Speed up tests by lowering BCrypt's cost function
BCrypt::Engine.cost = BCrypt::Engine::MIN_COST

# Pin Chromedriver version to last version that was released the "old way"
# See https://github.com/titusfortner/webdrivers/issues/247
Webdrivers::Chromedriver.required_version = "114.0.5735.90"
end
2 changes: 1 addition & 1 deletion docker/ci/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ setup_tests() {
fi

# create test database "app" and dump schema because db/structure.sql is not checked in
execute_quiet "time bundle exec rails db:migrate db:schema:dump zeitwerk:check webdrivers:chromedriver:update[114.0.5735.90] webdrivers:geckodriver:update"
execute_quiet "time bundle exec rails db:migrate db:schema:dump zeitwerk:check"
}

run_units() {
Expand Down
2 changes: 1 addition & 1 deletion script/ci/cache_prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ run() {
eval $2;
}

run "bundle exec rake db:create db:migrate webdrivers:chromedriver:update[114.0.5735.90] webdrivers:geckodriver:update"
run "bundle exec rake db:create db:migrate"

run "cd frontend; npm install ; cd -"

Expand Down
9 changes: 0 additions & 9 deletions spec/support/browsers/chrome.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# Force the latest version of chromedriver using the webdriver gem
require 'webdrivers/chromedriver'

# rubocop:disable Metrics/PerceivedComplexity
def register_chrome(language, name: :"chrome_#{language}", override_time_zone: nil)
Capybara.register_driver name do |app|
Expand Down Expand Up @@ -53,13 +50,7 @@ def register_chrome(language, name: :"chrome_#{language}", override_time_zone: n
if is_grid
driver_opts[:url] = ENV.fetch('SELENIUM_GRID_URL', nil)
else
if Webdrivers::ChromeFinder.location == '/snap/bin/chromium'
# make chromium snap install work out-of-the-box
# See https://stackoverflow.com/a/65121582/177665
chromedriver_path = '/snap/bin/chromium.chromedriver'
end
driver_opts[:service] = Selenium::WebDriver::Service.chrome(
path: chromedriver_path,
args: ['--verbose', '--log-path=/tmp/chromedriver.log']
)
end
Expand Down
2 changes: 0 additions & 2 deletions spec/support/browsers/firefox.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Force the latest version of geckodriver using the webdriver gem
require 'webdrivers/geckodriver'
require 'socket'

def register_firefox(language, name: :"firefox_#{language}")
Expand Down
11 changes: 6 additions & 5 deletions spec/support/cuprite_setup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,11 @@ def register_better_cuprite(language, name: :"better_cuprite_#{language}")

config.around(:each, type: :feature, with_cuprite: true) do |example|
original_driver = Capybara.javascript_driver
Capybara.javascript_driver = :better_cuprite_en

example.run

Capybara.javascript_driver = original_driver
begin
Capybara.javascript_driver = :better_cuprite_en
example.run
ensure
Capybara.javascript_driver = original_driver
end
end
end

0 comments on commit 9c952f3

Please sign in to comment.