Skip to main content

tap · double_tap

This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET

Tap an element. These call app_tap.

tap​

def tap(target: str | None=None, x: int | None=None, y: int | None=None, fingers: int | None=None) -> None

Tap a ref, a locator, or a point in device pixels.

fingers taps with several at once, side by side: 2 for a two-finger tap, 3 for three (up to 5). On iOS three fingers can reach the system instead of the app — three-finger gestures are undo, redo, copy and paste there.

double_tap​

def double_tap(target: str | None=None, x: int | None=None, y: int | None=None) -> None

Tap twice, as one gesture rather than as two taps.

The same tool as tap with one argument set, so the target is resolved the same way and refused the same way when the screen has moved. The uiautomator dump driver refuses it: the window is 40-300ms and nothing there controls the interval between two adb calls.

Examples​

Tap an element by its visible text​

device.tap("text=Network & internet")

The same call from the command line, mobium tap "text=Network & internet", printed on an Android 15 emulator:

tapped text=Network & internet at (407, 867)
BeforeAfter
Before: mobium tap "text=Network & internet" on an Android 15 emulatorAfter: mobium tap "text=Network & internet" on an Android 15 emulator

mobium tap "text=Network & internet" on an Android 15 emulator

Tap a ref from the last map​

device.tap("@e2")

Double-tap​

device.double_tap("@e2")

Tap right after work the screen does not show, with the gray box on​

device.launch("dev.mobium.mobiumapp", gray_box=True)
device.tap("testid=busyQuiet")
device.tap("testid=busyRowB") # waits for the app to say it is idle

The same call from the command line, mobium tap testid=busyRowB, printed on an Android 15 emulator:

tapped testid=busyRowB at (540, 1095)
gray box: waited 307 ms for the app to go idle (busy: quiet)

mobium tap testid=busyRowB on MobiumApp's Busy Demo, Android 15 emulator, launched with --gray-box: the tap waited for the quiet refresh to finish, and Row B is the new generation's

mobium tap testid=busyRowB on MobiumApp's Busy Demo, Android 15 emulator, launched with --gray-box: the tap waited for the quiet refresh to finish, and Row B is the new generation's

On a device​

BeforeAfter
Before: mobium double-tap testid=pressTarget on an Android 15 emulatorAfter: mobium double-tap testid=pressTarget on an Android 15 emulator

mobium double-tap testid=pressTarget on an Android 15 emulator