Class: Appium::Capybara::Driver

Inherits:
Capybara::Selenium::Driver
  • Object
show all
Defined in:
lib/appium_capybara/driver/appium/driver.rb

Overview

methods in this class either override selenium driver methods or they’re new and specific to appium.

Instance Method Summary collapse

Instance Method Details

#accept_alertObject

new



47
48
49
# File 'lib/appium_capybara/driver/appium/driver.rb', line 47

def accept_alert
  browser.alert_accept
end

#browserObject

override

Creates and starts a new appium driver. To access the browser without creating one use @browser



10
11
12
13
14
15
16
17
# File 'lib/appium_capybara/driver/appium/driver.rb', line 10

def browser
  unless @browser
    @browser = Appium::Driver.new @options
    # This will fail if your appium didn't close its last session
    @browser.start_driver
  end
  @browser
end

#browser_initialized?Boolean

new

Returns:

  • (Boolean)


37
38
39
# File 'lib/appium_capybara/driver/appium/driver.rb', line 37

def browser_initialized?
  !! @browser
end

#dismiss_alertObject

new



42
43
44
# File 'lib/appium_capybara/driver/appium/driver.rb', line 42

def dismiss_alert
  browser.alert_dismiss
end

#find_css(selector) ⇒ Object

override



25
26
27
# File 'lib/appium_capybara/driver/appium/driver.rb', line 25

def find_css(selector)
  browser.find_elements(:css, selector).map { |node| Appium::Capybara::Node.new(self, node) }
end

#find_custom(finder, locator) ⇒ Object

new



74
75
76
# File 'lib/appium_capybara/driver/appium/driver.rb', line 74

def find_custom(finder, locator)
  browser.find_elements(finder, locator).map { |node| Appium::Capybara::Node.new(self, node) }
end

#find_xpath(selector) ⇒ Object

override



20
21
22
# File 'lib/appium_capybara/driver/appium/driver.rb', line 20

def find_xpath(selector)
  browser.find_elements(:xpath, selector).map { |node| Appium::Capybara::Node.new(self, node) }
end

#quitObject

override



79
80
81
82
83
84
85
# File 'lib/appium_capybara/driver/appium/driver.rb', line 79

def quit
  @browser.driver_quit if @browser
rescue Errno::ECONNREFUSED
  # Browser must have already gone
ensure
  @browser = nil
end

#reset!Object

override



30
31
32
33
34
# File 'lib/appium_capybara/driver/appium/driver.rb', line 30

def reset!
  # invoking the browser method after the browser has closed will cause it to relaunch
  # use @browser to avoid the relaunch.
  @browser.driver.reset if @browser
end

#rotate(opts) ⇒ Object

new Use :landscape or :portrait



63
64
65
# File 'lib/appium_capybara/driver/appium/driver.rb', line 63

def rotate(opts)
  browser.driver.rotate opts
end

#save_screenshot(path, options = {}) ⇒ Object

override Capybara always passes an options param but appium_lib can’t do anything with it.



69
70
71
# File 'lib/appium_capybara/driver/appium/driver.rb', line 69

def save_screenshot(path, options = {})
  browser.screenshot path
end

#scroll_downObject

new



57
58
59
# File 'lib/appium_capybara/driver/appium/driver.rb', line 57

def scroll_down
  browser.driver.execute_script("mobile: scroll", direction: "down")
end

#scroll_upObject

new



52
53
54
# File 'lib/appium_capybara/driver/appium/driver.rb', line 52

def scroll_up
  browser.driver.execute_script("mobile: scroll", direction: "up")
end