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