tap_on
Tap, double-tap, or long-press screen elements by text, accessibility ID, or coordinates via Maestro flows. Requires bundle ID.
Instructions
Tap, double-tap, or long-press an element on screen via an ephemeral Maestro flow. Target by text (regex), accessibility id, or absolute x/y coordinates. bundleId is REQUIRED — Maestro needs it for the appId flow header. WebView caution: text/id selectors only resolve native accessibility nodes. Web-rendered elements inside WKWebView are invisible — tap_on will report COMPLETED but nothing is tapped. Use x+y coordinates instead for WebView content.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"udid": "<udid>",
"bundleId": "<bundleId>"
},
"name": "tap_on"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| udid | Yes | Simulator / device UDID | |
| bundleId | Yes | App bundle identifier (e.g. com.example.MyApp). Required by Maestro. | |
| text | No | Element text or regex. Matches the FULL label/value case-insensitively (anchored ^…$); an invalid regex falls back to a substring match. | |
| id | No | Accessibility ID of the element | |
| x | No | X coordinate in logical points (numeric only; percent strings are not supported) | |
| y | No | Y coordinate — required when x is provided | |
| double | No | Use doubleTapOn instead of tapOn | |
| long | No | Use longPressOn instead of tapOn | |
| longDurationMs | No | Hold duration for long press in ms (max 10 000) | |
| index | No | Zero-based index when multiple elements match | |
| timeoutMs | No | Flow timeout in ms (default 30 000) | |
| noLaunch | No | Skip the implicit launchApp attach step (default false). Set true when an open modal or navigation state must not be disturbed. |