class Selenium::WebDriver::Edge::Driver

Driver implementation for Microsoft Edge. @api private

Public Class Methods

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

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

  listener = opts.delete(:listener)

  # Edge is mostly using W3C dialect, but a request to
  # create session responds with OSS-like body,
  # so we need to force W3C implementation.
  desired_capabilities = opts.delete(:desired_capabilities)
  bridge = Remote::Bridge.new(opts)
  capabilities = bridge.create_session(desired_capabilities)

  WebDriver.logger.info 'Forcing W3C dialect.'
  @bridge = Remote::W3C::Bridge.new(capabilities, bridge.session_id, **opts)
  @bridge.extend Edge::Bridge

  super(@bridge, listener: listener)
end

Public Instance Methods

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