class Crabfarm::Adapters::Browser::AbstractWebdriver

Attributes

config[RW]

Public Class Methods

new(_proxy = nil, _proxy_auth = nil) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 10
def initialize(_proxy = nil, _proxy_auth = nil)
  @config = load_driver_config
  @config[:proxy] = _proxy
  @config[:proxy_auth] = _proxy_auth
end

Public Instance Methods

build_driver(_session_id) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 16
def build_driver(_session_id)
  wrap_driver build_webdriver_instance
end
extract_webdriver(_wrapped) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 24
def extract_webdriver(_wrapped)
  _wrapped.driver
end
release_driver(_wrapped) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 28
def release_driver(_wrapped)
  _wrapped.driver.quit rescue nil
end
reset_driver(_wrapped) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 20
def reset_driver(_wrapped)
  _wrapped.driver.manage.delete_all_cookies # pincers exposes driver?
end

Private Instance Methods

build_webdriver_instance() click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 40
def build_webdriver_instance
  raise NotImplementedError.new
end
load_driver_config() click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 44
def load_driver_config
  {
    capabilities: Crabfarm.config.webdriver_capabilities,
    remote_host: Crabfarm.config.webdriver_remote_host,
    remote_timeout: Crabfarm.config.webdriver_remote_timeout,
    window_width: Crabfarm.config.webdriver_window_width,
    window_height: Crabfarm.config.webdriver_window_height,
    dsl: Crabfarm.config.webdriver_dsl
  }
end
wrap_driver(_driver) click to toggle source
# File lib/crabfarm/adapters/browser/abstract_webdriver.rb, line 34
def wrap_driver _driver
  if config[:dsl].present?
    Strategies.load(:webdriver_dsl, config[:dsl]).wrap _driver
  else _driver end
end