class Selenium::WebDriver::Safari::Driver

Driver implementation for Safari. @api private

Public Class Methods

new(opts = {}) click to toggle source
Calls superclass method Selenium::WebDriver::Driver.new
# File lib/selenium/webdriver/safari/driver.rb, line 33
def initialize(opts = {})
  opts[:desired_capabilities] = create_capabilities(opts)

  opts[:url] ||= service_url(opts)

  listener = opts.delete(:listener)
  @bridge = Remote::Bridge.handshake(**opts)
  @bridge.extend Bridge

  super(@bridge, listener: listener)
end

Public Instance Methods

browser() click to toggle source
# File lib/selenium/webdriver/safari/driver.rb, line 45
def browser
  :safari
end
quit() click to toggle source
Calls superclass method Selenium::WebDriver::Driver#quit
# File lib/selenium/webdriver/safari/driver.rb, line 49
def quit
  super
ensure
  @service&.stop
end

Private Instance Methods

create_capabilities(opts = {}) click to toggle source
# File lib/selenium/webdriver/safari/driver.rb, line 57
def create_capabilities(opts = {})
  caps = opts.delete(:desired_capabilities) { Remote::Capabilities.safari }
  options = opts.delete(:options) { Options.new }
  caps.merge!(options.as_json)
  caps
end