Class: Selenium::WebDriver::Firefox::Bridge Private

Inherits:
Remote::Bridge show all
Defined in:
lib/selenium/webdriver/firefox/bridge.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary

Constants inherited from Remote::Bridge

Remote::Bridge::COMMANDS

Instance Attribute Summary

Attributes inherited from Remote::Bridge

#capabilities, #context, #file_detector, #http

Instance Method Summary collapse

Methods inherited from Remote::Bridge

#accept_alert, #action, #active_element, #add_cookie, #alert=, #alert_text, #authentication, #available_log_types, #clear_element, #clear_local_storage, #clear_session_storage, #click, #click_element, #close, #commands, #context_click, #cookies, #create_session, #delete_all_cookies, #delete_cookie, #dismiss_alert, #double_click, #drag_element, #element_attribute, #element_displayed?, #element_enabled?, #element_location, #element_location_once_scrolled_into_view, #element_property, #element_selected?, #element_size, #element_tag_name, #element_text, #element_value, #element_value_of_css_property, #execute_async_script, #execute_script, #find_element_by, #find_elements_by, #get, #go_back, #go_forward, #implicit_wait_timeout=, #keyboard, #local_storage_item, #local_storage_keys, #local_storage_size, #location, #log, #maximize_window, #mouse, #mouse_down, #mouse_move_to, #mouse_up, #network_connection, #network_connection=, #options, #page_source, #refresh, #remove_local_storage_item, #remove_session_storage_item, #reposition_window, #resize_window, #screen_orientation, #screen_orientation=, #screenshot, #script_timeout=, #send_keys_to_active_element, #send_keys_to_element, #session_capabilities, #session_id, #session_storage_item, #session_storage_keys, #session_storage_size, #set_location, #status, #submit_element, #switch_to_default_content, #switch_to_frame, #switch_to_parent_frame, #switch_to_window, #timeout, #title, #touch_double_tap, #touch_down, #touch_element_flick, #touch_flick, #touch_long_press, #touch_move, #touch_scroll, #touch_single_tap, #touch_up, #upload, #url, #window_handle, #window_handles, #window_position, #window_size

Methods included from BridgeHelper

#element_id_from, #parse_cookie_string, #unwrap_script_result

Constructor Details

#initialize(opts = {}) ⇒ Bridge

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Bridge.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/selenium/webdriver/firefox/bridge.rb', line 25

def initialize(opts = {})
  opts[:desired_capabilities] ||= Remote::Capabilities.firefox

  if opts.key? :proxy
    WebDriver.logger.warn <<-DEPRECATE.gsub(/\n +| {2,}/, ' ').freeze
    [DEPRECATION] `:proxy` is deprecated. Pass in as capability: `Remote::Capabilities.firefox(proxy: #{opts[:proxy]})`
    DEPRECATE
    opts[:desired_capabilities].proxy = opts.delete(:proxy)
  end

  unless opts.key?(:url)
    port = opts.delete(:port) || DEFAULT_PORT
    profile = opts.delete(:profile)

    Binary.path = opts[:desired_capabilities][:firefox_binary] if opts[:desired_capabilities][:firefox_binary]
    @launcher = Launcher.new Binary.new, port, profile
    @launcher.launch
    opts[:url] = @launcher.url
  end

  begin
    super(opts)
  rescue
    @launcher.quit if @launcher
    raise
  end
end

Instance Method Details

#browserObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



53
54
55
# File 'lib/selenium/webdriver/firefox/bridge.rb', line 53

def browser
  :firefox
end

#driver_extensionsObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



57
58
59
# File 'lib/selenium/webdriver/firefox/bridge.rb', line 57

def driver_extensions
  [DriverExtensions::TakesScreenshot]
end

#quitObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



61
62
63
64
65
66
# File 'lib/selenium/webdriver/firefox/bridge.rb', line 61

def quit
  super
  nil
ensure
  @launcher.quit
end