Class: Appium::TouchAction

Inherits:
Core::TouchAction
  • Object
show all
Defined in:
lib/appium_lib/common/touch_actions.rb

Overview

Perform a series of gestures, one after another. Gestures are chained together and only performed when `perform()` is called. Default is conducted by global driver.

Each method returns the object itself, so calls can be chained.

Or each methods can call without `TouchAction.new` as the following. In this case, `perform` is called automatically.

If you'd like to perform the chain with an arbitrary driver:

Examples:


action = TouchAction.new.press(x: 45, y: 100).wait(5).release
action.perform
action = TouchAction.new.swipe(....)
action.perform

# called `swipe(...).perform` in this method.
swipe(start_x: 75, start_y: 500, end_x: 75, end_y: 20, duration: 500)

driver =  Appium::Driver.new(opts, false).start_driver # return an Appium::Core::Base::Driver instance
action = TouchAction.new(driver).press(x: 45, y: 100).wait(5).release
action.perform
action = TouchAction.new(driver).swipe(....)
action.perform

Constant Summary collapse

COMPLEX_ACTIONS =
::Appium::Core::TouchAction::COMPLEX_ACTIONS

Instance Method Summary collapse

Constructor Details

#initialize(driver = $driver) ⇒ TouchAction

Returns a new instance of TouchAction.


62
63
64
# File 'lib/appium_lib/common/touch_actions.rb', line 62

def initialize(driver = $driver)
  super driver
end

Instance Method Details

#swipe(opts) ⇒ Object


66
67
68
69
70
71
72
73
74
# File 'lib/appium_lib/common/touch_actions.rb', line 66

def swipe(opts)
  start_x = opts.fetch :start_x, 0
  start_y = opts.fetch :start_y, 0
  end_x = opts.fetch :end_x, 0
  end_y = opts.fetch :end_y, 0
  duration = opts.fetch :duration, 200

  super(start_x: start_x, start_y: start_y, end_x: end_x, end_y: end_y, duration: duration)
end