Skip to content

Commit 79035ba

Browse files
committed
[rb] expand automatic toggles in Ruby tests based on environment settings
1 parent 613207c commit 79035ba

File tree

1 file changed

+39
-26
lines changed

1 file changed

+39
-26
lines changed

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

+39-26
Original file line numberDiff line numberDiff line change
@@ -191,25 +191,40 @@ def remote_driver(**opts)
191191
WebDriver::Driver.for(:remote, url: url, **opts)
192192
end
193193

194-
def firefox_options(**opts)
195-
opts[:log_level] = 'TRACE' if WebDriver.logger.level == :debug
196-
opts[:binary] ||= ENV['FIREFOX_BINARY'] if ENV.key?('FIREFOX_BINARY')
197-
opts[:args] << '--headless' if ENV['HEADLESS']
198-
WebDriver::Options.firefox(**opts)
194+
def chrome_driver(service: nil, **opts)
195+
service ||= WebDriver::Service.chrome
196+
service.args << '--disable-build-check' if ENV['DISABLE_BUILD_CHECK']
197+
service.args << '--verbose' if WebDriver.logger.debug?
198+
WebDriver::Driver.for(:chrome, service: service, **opts)
199199
end
200200

201-
def ie_options(**opts)
202-
opts[:require_window_focus] = true
203-
WebDriver::Options.ie(**opts)
201+
def edge_driver(service: nil, **opts)
202+
service ||= WebDriver::Service.edge
203+
service.args << '--disable-build-check' if ENV['DISABLE_BUILD_CHECK']
204+
service.args << '--verbose' if WebDriver.logger.debug?
205+
WebDriver::Driver.for(:edge, service: service, **opts)
206+
end
207+
208+
def firefox_driver(service: nil, **opts)
209+
service ||= WebDriver::Service.firefox
210+
service.args.push('--log', 'trace') if WebDriver.logger.debug?
211+
WebDriver::Driver.for(:firefox, **opts)
212+
end
213+
214+
def safari_driver(**opts)
215+
service_opts = {}
216+
service_opts[:args] = []
217+
service_opts[:args] << '--diagnose' if WebDriver.logger.debug?
218+
service = WebDriver::Service.safari(**service_opts)
219+
WebDriver::Driver.for(:safari, service: service, **opts)
204220
end
205221

206-
def chrome_driver(options: nil, **opts)
222+
def safari_preview_driver(**opts)
207223
service_opts = {}
208224
service_opts[:args] = []
209-
service_opts[:args] << '--disable-build-check' if ENV['DISABLE_BUILD_CHECK']
210-
service_opts[:args] << '--verbose' if WebDriver.logger.level == :debug
211-
service = WebDriver::Service.chrome(**service_opts)
212-
WebDriver::Driver.for(:chrome, options: options, service: service, **opts)
225+
service_opts[:args] << '--diagnose' if WebDriver.logger.debug?
226+
service = WebDriver::Service.safari(**service_opts)
227+
WebDriver::Driver.for(:safari, service: service, **opts)
213228
end
214229

215230
def chrome_options(**opts)
@@ -218,30 +233,28 @@ def chrome_options(**opts)
218233
WebDriver::Options.chrome(**opts)
219234
end
220235

221-
def edge_driver(options: nil, **opts)
222-
service_opts = {}
223-
service_opts[:args] = []
224-
service_opts[:args] << '--disable-build-check' if ENV['DISABLE_BUILD_CHECK']
225-
service_opts[:args] << '--verbose' if WebDriver.logger.level == :debug
226-
service = WebDriver::Service.edge(**service_opts)
227-
WebDriver::Driver.for(:edge, options: options, service: service, **opts)
228-
end
229-
230236
def edge_options(**opts)
231237
opts[:binary] ||= ENV['EDGE_BINARY'] if ENV.key?('EDGE_BINARY')
232238
opts[:args] << '--headless=chrome' if ENV['HEADLESS']
233239
WebDriver::Options.edge(**opts)
234240
end
235241

242+
def firefox_options(**opts)
243+
opts[:binary] ||= ENV['FIREFOX_BINARY'] if ENV.key?('FIREFOX_BINARY')
244+
opts[:args] << '--headless' if ENV['HEADLESS']
245+
WebDriver::Options.firefox(**opts)
246+
end
247+
248+
def ie_options(**opts)
249+
opts[:require_window_focus] = true
250+
WebDriver::Options.ie(**opts)
251+
end
252+
236253
def safari_preview_options(**opts)
237254
WebDriver::Safari.technology_preview!
238255
WebDriver::Options.safari(**opts)
239256
end
240257

241-
def safari_preview_driver(**opts)
242-
WebDriver::Driver.for(:safari, **opts)
243-
end
244-
245258
def populate_from_bazel_target
246259
name = ENV.fetch('TEST_TARGET', nil)
247260
return unless name

0 commit comments

Comments
 (0)