touchAction
Deprecation Warning
The touchAction
command is deprecated and will be removed in a future version.
We recommend to use the action
command instead with
pointer type touch
, e.g.:
await browser.action('pointer', {
parameters: { pointerType: 'touch' }
})
The Touch Action API provides the basis of all gestures that can be automated in Appium. It is currently only available to native apps and can not be used to interact with webapps. At its core is the ability to chain together ad hoc individual actions, which will then be applied to an element in the application on the device. The basic actions that can be used are:
- press (pass element or (x,y) or both)
- longPress (pass element or (x,y) or both)
- tap (pass element or (x,y) or both)
- moveTo (pass absolute x,y coordinates)
- wait (pass ms (as milliseconds))
- release (no arguments)
Usage
$(selector).touchAction(action)
Parameters
Name | Type | Details |
---|---|---|
action | TouchActions | action to execute |
Example
touchAction.js
it('should do a touch gesture', async () => {
const screen = await $('//UITextbox');
// simple touch action on element
await screen.touchAction('tap');
// simple touch action using selector and x y variables
// tap location is 30px right and 20px down relative from the center of the element
await screen.touchAction({
action: 'tap', x: 30, y:20
})
// multi action on an element (drag&drop)
await screen.touchAction([
'press',
{ action: 'moveTo', x: 200, y: 300 },
'release'
])
// drag&drop to element
const otherElement = await $('//UIAApplication[1]/UIAElement[2]')
await screen.touchAction([
'press',
{ action: 'moveTo', element: otherElement },
'release'
])
});