class Selenium::WebDriver::Edge::Bridge

@api private

Public Class Methods

new(opts = {}) click to toggle source
Calls superclass method
# File lib/selenium/webdriver/edge/bridge.rb, line 26
def initialize(opts = {})

  http_client = opts.delete(:http_client)

  if opts.has_key?(:url)
    url = opts.delete(:url)
  else
    @service = Service.default_service(*extract_service_args(opts))

    if @service.instance_variable_get("@host") == "127.0.0.1"
      @service.instance_variable_set("@host", 'localhost')
    end

    @service.start

    url = @service.uri
  end

  caps = create_capabilities(opts)

  remote_opts = {
    :url                  => url,
    :desired_capabilities => caps
  }

  remote_opts.merge!(:http_client => http_client) if http_client
  super(remote_opts)
end

Public Instance Methods

browser() click to toggle source
# File lib/selenium/webdriver/edge/bridge.rb, line 55
def browser
  :edge
end
capabilities() click to toggle source
# File lib/selenium/webdriver/edge/bridge.rb, line 66
def capabilities
  @capabilities ||= Remote::Capabilities.edge
end
driver_extensions() click to toggle source
# File lib/selenium/webdriver/edge/bridge.rb, line 59
def driver_extensions
  [
    DriverExtensions::TakesScreenshot,
    DriverExtensions::HasInputDevices
  ]
end
quit() click to toggle source
Calls superclass method
# File lib/selenium/webdriver/edge/bridge.rb, line 70
def quit
  super
ensure
  @service.stop if @service
end

Private Instance Methods

create_capabilities(opts) click to toggle source
# File lib/selenium/webdriver/edge/bridge.rb, line 78
def create_capabilities(opts)
  caps               = opts.delete(:desired_capabilities) { Remote::W3CCapabilities.edge }
  page_load_strategy = opts.delete(:page_load_strategy) || "normal"

  unless opts.empty?
    raise ArgumentError, "unknown option#{'s' if opts.size != 1}: #{opts.inspect}"
  end

  caps['page_load_strategy'] = page_load_strategy

  caps
end
extract_service_args(opts) click to toggle source
# File lib/selenium/webdriver/edge/bridge.rb, line 91
def extract_service_args(opts)
  args = []

  if opts.has_key?(:service_log_path)
    args << "--log-path=#{opts.delete(:service_log_path)}"
  end

  args
end