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.



48
49
50
# File 'lib/appium_lib/common/touch_actions.rb', line 48

def initialize(driver = $driver)
  super driver
end

Instance Method Details

#swipe(opts) ⇒ Object



52
53
54
55
56
57
58
59
60
# File 'lib/appium_lib/common/touch_actions.rb', line 52

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