module AutomationObject::Driver

Driver Port

Constants

BoxCoordinates
Dimension
Point

Public Instance Methods

adapter() click to toggle source
# File lib/automation_object/driver.rb, line 20
def adapter
  return @adapter if @adapter
  self.adapter = :nokogiri
  @adapter
end
adapter=(adapter_name) click to toggle source

Sets adapter const will append _adapter if needed @param adapter_name [String] name of adapter wanted for composite creation

# File lib/automation_object/driver.rb, line 28
def adapter=(adapter_name)
  adapter_name = adapter_name.to_s
  adapter_name << '_adapter' unless adapter_name =~ /_adapter$/
  adapter_const = adapter_name.pascalize

  @adapter = AutomationObject::Driver.const_get(adapter_const.to_s)::Driver
end
create(driver = nil) click to toggle source

@param driver [Object] selenium or appium driver. default nil for Nokogiri @return [AutomationObject::Driver::Driver]

# File lib/automation_object/driver.rb, line 38
def create(driver = nil)
  adapted_driver = Driver.new(adapter.new(driver))

  # Add throttling and mutex proxies around adapter
  AutomationObject::Proxy::MutexProxy.new(
    AutomationObject::Proxy::ThrottleProxy.new(adapted_driver)
  )
end