Perform a multi touch action sequence
Example Usage
// Java
TouchActions actionOne = new TouchAction();
actionOne.press(10, 10);
actionOne.moveTo(10, 100);
actionOne.release();
TouchActions actionTwo = new TouchAction();
actionTwo.press(20, 20);
actionTwo.moveTo(20, 200);
actionTwo.release();
MultiTouchAction action = new MultiTouchAction();
action.add(actionOne);
action.add(actionTwo);
action.perform();
# Python
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction
# ...
a1 = TouchAction()
a1.press(10, 20)
a1.move_to(10, 200)
a1.release()
a2 = TouchAction()
a2.press(10, 10)
a2.move_to(10, 100)
a2.release()
ma = MultiAction(self.driver)
ma.add(a1, a2)
ma.perform()
// Javascript
// webdriver.io example
driver.touchMultiPerform([
{ action: 'press', options: { x: 100, y: 250 }},
{ action: 'moveTo', options: { x: 300, y: 100 }},
{ action: 'release' }
]);
// wd example
let action = new wd.MultiTouchAction();
action.press({x: 10, y: 10});
action.moveTo({x: 10, y: 100});
action.release();
await action.perform();
# Ruby
# ruby_lib example
multi_touch.down(element).move_to(10, 100).up(50, 50).perform
# ruby_lib_core example
@driver.multi_touch.down(element).move_to(10, 100).up(50, 50).perform
# PHP
// TODO PHP sample
// C#
// TODO C# sample
Support
Appium Server
Appium Clients
HTTP API Specifications
Endpoint
POST /session/:session_id/touch/multi/perform
URL Parameters
name |
description |
session_id |
ID of the session to route the command to |
JSON Parameters
name |
type |
description |
action |
string |
The type of action to perform (moveTo |
options |
object |
The parameters of the action |
opts.element |
string |
The ID of the element |
opts.x |
number |
The X coordinate of the operation (relative to top left corner) |
opts.y |
number |
The Y coordinate of the operation (relative to top left corner) |
opts.count |
number |
Tap count |
Response
null
See Also