Class: Appium::Capybara::Driver
- Inherits:
-
Capybara::Selenium::Driver
- Object
- Capybara::Selenium::Driver
- Appium::Capybara::Driver
- 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
-
#accept_alert ⇒ Object
new.
-
#browser ⇒ Object
override.
-
#browser_initialized? ⇒ Boolean
new.
-
#dismiss_alert ⇒ Object
new.
-
#find_css(selector) ⇒ Object
override.
-
#find_custom(finder, locator) ⇒ Object
new.
-
#find_xpath(selector) ⇒ Object
override.
-
#quit ⇒ Object
override.
-
#reset! ⇒ Object
override.
-
#rotate(opts) ⇒ Object
new Use :landscape or :portrait.
-
#save_screenshot(path, options = {}) ⇒ Object
override Capybara always passes an options param but appium_lib can’t do anything with it.
-
#scroll_down ⇒ Object
new.
-
#scroll_up ⇒ Object
new.
Instance Method Details
#accept_alert ⇒ Object
new
47 48 49 |
# File 'lib/appium_capybara/driver/appium/driver.rb', line 47 def accept_alert browser.alert_accept end |
#browser ⇒ Object
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
37 38 39 |
# File 'lib/appium_capybara/driver/appium/driver.rb', line 37 def browser_initialized? !! @browser end |
#dismiss_alert ⇒ Object
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 |
#quit ⇒ Object
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, = {}) browser.screenshot path end |
#scroll_down ⇒ Object
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_up ⇒ Object
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 |