Class: Selenium::WebDriver::Chrome::Bridge Private

Inherits:
Remote::Bridge show all
Defined in:
lib/selenium/webdriver/chrome/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

#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
52
53
# File 'lib/selenium/webdriver/chrome/bridge.rb', line 25

def initialize(opts = {})
  opts[:desired_capabilities] = create_capabilities(opts)

  unless opts.key?(:url)
    driver_path = opts.delete(:driver_path) || Chrome.driver_path
    port = opts.delete(:port) || Service::DEFAULT_PORT

    opts[:driver_opts] ||= {}
    if opts.key? :service_log_path
      WebDriver.logger.warn "    [DEPRECATION] `:service_log_path` is deprecated. Use `driver_opts: {log_path: \#{opts[:service_log_path]}}`\n      DEPRECATE\n      opts[:driver_opts][:log_path] = opts.delete :service_log_path\n    end\n\n    if opts.key? :service_args\n      WebDriver.logger.warn <<-DEPRECATE.gsub(/\\n +| {2,}/, ' ').freeze\n    [DEPRECATION] `:service_args` is deprecated. Pass switches using `driver_opts`\n      DEPRECATE\n      opts[:driver_opts][:args] = opts.delete(:service_args)\n    end\n\n    @service = Service.new(driver_path, port, opts.delete(:driver_opts))\n    @service.start\n    opts[:url] = @service.uri\n  end\n\n  super(opts)\nend\n".gsub(/\n +| {2,}/, ' ').freeze

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.



55
56
57
# File 'lib/selenium/webdriver/chrome/bridge.rb', line 55

def browser
  :chrome
end

#capabilitiesObject

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.



64
65
66
# File 'lib/selenium/webdriver/chrome/bridge.rb', line 64

def capabilities
  @capabilities ||= Remote::Capabilities.chrome
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.



59
60
61
62
# File 'lib/selenium/webdriver/chrome/bridge.rb', line 59

def driver_extensions
  [DriverExtensions::TakesScreenshot,
   DriverExtensions::HasWebStorage]
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.



68
69
70
71
72
# File 'lib/selenium/webdriver/chrome/bridge.rb', line 68

def quit
  super
ensure
  @service.stop if @service
end