Skip to content

Commit f7ac714

Browse files
committed
Add support for beta chrome
1 parent 3cb7784 commit f7ac714

File tree

3 files changed

+39
-8
lines changed

3 files changed

+39
-8
lines changed

rb/spec/integration/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package(default_visibility = ["//rb/spec/integration:__subpackages__"])
22

33
BROWSERS = [
44
"chrome",
5+
"chrome-beta",
56
"edge",
67
"firefox",
78
"ie",

rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def initialize
3131
WebDriver.logger.ignore(:logger_info)
3232
SeleniumManager.bin_path = root.join('bazel-bin/rb/bin').to_s if File.exist?(root.join('bazel-bin/rb/bin'))
3333

34-
@driver = ENV.fetch('WD_SPEC_DRIVER', 'chrome').tr('-', '_').to_sym
34+
@driver = ENV.fetch('WD_SPEC_DRIVER', 'chrome-beta').tr('-', '_').to_sym
3535
@driver_instance = nil
3636
@remote_server = nil
3737
end
@@ -80,11 +80,11 @@ def quit_driver
8080

8181
def app_server
8282
@app_server ||= begin
83-
app_server = RackServer.new(root.join('common/src/web').to_s, random_port)
84-
app_server.start
83+
app_server = RackServer.new(root.join('common/src/web').to_s, random_port)
84+
app_server.start
8585

86-
app_server
87-
end
86+
app_server
87+
end
8888
end
8989

9090
def remote_server
@@ -166,11 +166,13 @@ def root
166166
def create_driver!(listener: nil, **opts, &block)
167167
check_for_previous_error
168168

169+
chrome_beta(opts) if driver == :chrome_beta
170+
169171
method = :"#{driver}_driver"
170172
instance = if private_methods.include?(method)
171173
send(method, listener: listener, options: build_options(**opts))
172174
else
173-
WebDriver::Driver.for(driver, listener: listener, options: build_options(**opts))
175+
WebDriver::Driver.for(method, listener: listener, options: build_options(**opts))
174176
end
175177
@create_driver_error_count -= 1 unless @create_driver_error_count.zero?
176178
if block
@@ -254,13 +256,13 @@ def firefox_driver(service: nil, **opts)
254256
end
255257

256258
def safari_driver(**opts)
257-
service_opts = WebDriver.logger.debug? ? {args: '--diagnose'} : {}
259+
service_opts = WebDriver.logger.debug? ? { args: '--diagnose' } : {}
258260
service = WebDriver::Service.safari(**service_opts)
259261
WebDriver::Driver.for(:safari, service: service, **opts)
260262
end
261263

262264
def safari_preview_driver(**opts)
263-
service_opts = WebDriver.logger.debug? ? {args: '--diagnose'} : {}
265+
service_opts = WebDriver.logger.debug? ? { args: '--diagnose' } : {}
264266
service = WebDriver::Service.safari(**service_opts)
265267
WebDriver::Driver.for(:safari, service: service, **opts)
266268
end
@@ -313,6 +315,11 @@ def random_port
313315
ensure
314316
sock.close
315317
end
318+
319+
def chrome_beta(opts = {})
320+
@driver = :chrome
321+
opts[:browser_version] = 'beta'
322+
end
316323
end
317324
end # SpecSupport
318325
end # WebDriver

rb/spec/tests.bzl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,29 @@ BROWSERS = {
3232
"//conditions:default": {},
3333
}),
3434
},
35+
"chrome-beta": {
36+
"data": chrome_data,
37+
"deps": ["//rb/lib/selenium/webdriver:chrome"],
38+
"tags": [],
39+
"target_compatible_with": [],
40+
"env": {
41+
"WD_REMOTE_BROWSER": "chrome",
42+
"WD_SPEC_DRIVER": "chrome-beta",
43+
} | select({
44+
"@selenium//common:use_pinned_linux_chrome": {
45+
"CHROME_BINARY": "$(location @linux_chrome//:chrome-linux64/chrome)",
46+
"CHROMEDRIVER_BINARY": "$(location @linux_chromedriver//:chromedriver)",
47+
},
48+
"@selenium//common:use_pinned_macos_chrome": {
49+
"CHROME_BINARY": "$(location @mac_chrome//:Chrome.app)/Contents/MacOS/Chrome",
50+
"CHROMEDRIVER_BINARY": "$(location @mac_chromedriver//:chromedriver)",
51+
},
52+
"//conditions:default": {},
53+
}) | select({
54+
"@selenium//common:use_headless_browser": {"HEADLESS": "true"},
55+
"//conditions:default": {},
56+
}),
57+
},
3558
"edge": {
3659
"data": edge_data,
3760
"deps": ["//rb/lib/selenium/webdriver:edge"],

0 commit comments

Comments
 (0)