Skip to content

Commit 8025bbf

Browse files
committed
Pin headless chrome to 133
Unless the capybara team figured out how to solve this bug: teamcapybara/capybara#2800 Also setting some flags we need for Chrome 133 support.
1 parent 04d8bcb commit 8025bbf

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

lib/solidus_dev_support/rspec/capybara.rb

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
11
# frozen_string_literal: true
22

33
# Allow to override the initial windows size
4-
CAPYBARA_WINDOW_SIZE = ENV.fetch('CAPYBARA_WINDOW_SIZE', '1920x1080').split('x', 2).map(&:to_i)
5-
CAPYBARA_WINDOW_WIDTH = CAPYBARA_WINDOW_SIZE[0]
6-
CAPYBARA_WINDOW_HEIGHT = CAPYBARA_WINDOW_SIZE[1]
4+
CAPYBARA_WINDOW_SIZE = ENV.fetch('CAPYBARA_WINDOW_SIZE', '1920x1080')
5+
6+
# Set Chrome version you want to use
7+
CAPYBARA_JAVASCRIPT_DRIVER_VERSION = ENV.fetch('CAPYBARA_JAVASCRIPT_DRIVER_VERSION', "133")
78

89
Capybara.javascript_driver = ENV.fetch('CAPYBARA_JAVASCRIPT_DRIVER', "solidus_chrome_headless").to_sym
910
Capybara.default_max_wait_time = 10
1011
Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897
1112

1213
Capybara.drivers[:selenium_chrome_headless].tap do |original_driver|
1314
Capybara.register_driver :solidus_chrome_headless do |app|
14-
original_driver.call(app).tap do |driver|
15-
driver.resize_window_to(
16-
driver.current_window_handle, CAPYBARA_WINDOW_WIDTH, CAPYBARA_WINDOW_HEIGHT
17-
)
15+
options = Selenium::WebDriver::Chrome::Options.new.tap do |opts|
16+
opts.add_argument("--no-sandbox")
17+
opts.add_argument("--window-size=#{CAPYBARA_WINDOW_SIZE}")
18+
opts.add_argument("--disable-search-engine-choice-screen")
19+
opts.add_argument("--disable-backgrounding-occluded-windows")
20+
opts.browser_version = CAPYBARA_JAVASCRIPT_DRIVER_VERSION
1821
end
22+
original_driver.call(app, options: options)
1923
end
2024
end
2125

0 commit comments

Comments
 (0)