Module: Selenium::WebDriver::LocalDriver

Included in:
Chrome::Driver, Edge::Driver, Firefox::Driver, IE::Driver, Safari::Driver
Defined in:
lib/selenium/webdriver/common/local_driver.rb

Instance Method Summary collapse

Instance Method Details

#initialize_local_driver(capabilities, options, service, url) ⇒ Object

Raises:

  • (ArgumentError)


23
24
25
26
27
28
29
30
31
# File 'lib/selenium/webdriver/common/local_driver.rb', line 23

def initialize_local_driver(capabilities, options, service, url)
  raise ArgumentError, "Can't initialize #{self.class} with :url" if url

  service ||= Service.send(browser)
  caps = process_options(options, capabilities, service)
  url = service_url(service)

  [caps, url]
end

#process_options(options, capabilities, service) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/selenium/webdriver/common/local_driver.rb', line 33

def process_options(options, capabilities, service)
  default_options = Options.send(browser)

  if options && capabilities
    msg = "Don't use both :options and :capabilities when initializing #{self.class}, prefer :options"
    raise ArgumentError, msg
  elsif options && !options.is_a?(default_options.class)
    raise ArgumentError, ":options must be an instance of #{default_options.class}"
  elsif capabilities
    WebDriver.logger.deprecate("The :capabilities parameter for #{self.class}",
                               ":options argument with an instance of #{self.class}",
                               id: :capabilities)
    service.executable_path ||= WebDriver::DriverFinder.path(capabilities, service.class)
    generate_capabilities(capabilities)
  else
    options ||= default_options
    service.executable_path ||= WebDriver::DriverFinder.path(options, service.class)
    options.as_json
  end
end