Class: Appium::Core::Base::Driver

Inherits:
Selenium::WebDriver::Driver
  • Object
show all
Includes:
SearchContext, Selenium::WebDriver::DriverExtensions::HasRemoteStatus, Selenium::WebDriver::DriverExtensions::HasSessionId, Selenium::WebDriver::DriverExtensions::HasWebStorage, Selenium::WebDriver::DriverExtensions::Rotatable, Selenium::WebDriver::DriverExtensions::TakesScreenshot, Selenium::WebDriver::DriverExtensions::UploadsFiles
Defined in:
lib/appium_lib_core/common/base/driver.rb

Constant Summary

Constants included from SearchContext

SearchContext::FINDERS

Instance Method Summary collapse

Methods included from SearchContext

add_finders, #find_element, #find_elements

Constructor Details

#initialize(opts = {}) ⇒ Driver



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/appium_lib_core/common/base/driver.rb', line 16

def initialize(opts = {})
  listener = opts.delete(:listener)
  @bridge = ::Appium::Core::Base::Bridge.handshake(opts)
  if @bridge.dialect == :oss # MJSONWP
    extend ::Selenium::WebDriver::DriverExtensions::HasTouchScreen
    extend ::Selenium::WebDriver::DriverExtensions::HasLocation
    extend ::Selenium::WebDriver::DriverExtensions::HasNetworkConnection
  elsif @bridge.dialect == :w3c
    # TODO: Only for Appium. Ideally, we'd like to remove the below like selenium-webdriver
    extend ::Selenium::WebDriver::DriverExtensions::HasTouchScreen
    extend ::Selenium::WebDriver::DriverExtensions::HasLocation
    extend ::Selenium::WebDriver::DriverExtensions::HasNetworkConnection
  end
  super(@bridge, listener: listener)
end

Instance Method Details

#backString

Get the device window’s size.

Examples:

@driver.back # back to the previous view


70
71
72
# File 'lib/appium_lib_core/common/base/driver.rb', line 70

def back
  navigate.back
end

#dialect:oss|:w3c

Get the dialect value



34
35
36
# File 'lib/appium_lib_core/common/base/driver.rb', line 34

def dialect
  @bridge.dialect
end

#get_timeoutsHash

For W3C. Get the timeout related settings on the server side.

Examples:

@driver.get_timeouts


94
95
96
# File 'lib/appium_lib_core/common/base/driver.rb', line 94

def get_timeouts
  @bridge.get_timeouts
end

#logsString

Get the device window’s logs.

Examples:


@driver.logs.available_types # [:syslog, :crashlog, :performance]
@driver.logs.get :syslog # []


82
83
84
# File 'lib/appium_lib_core/common/base/driver.rb', line 82

def logs
  @logs ||= Logs.new(@bridge)
end

#window_rectSelenium::WebDriver::Rectangle

Get the device window’s rect.

Examples:

size = @driver.window_rect
size.width #=> Integer
size.height #=> Integer
size.x #=> 0
size.y #=> 0


60
61
62
# File 'lib/appium_lib_core/common/base/driver.rb', line 60

def window_rect
  manage.window.rect
end

#window_sizeSelenium::WebDriver::Dimension

Get the device window’s size.

Examples:

size = @driver.window_size
size.width #=> Integer
size.height #=> Integer


46
47
48
# File 'lib/appium_lib_core/common/base/driver.rb', line 46

def window_size
  manage.window.size
end