Use local commands when you want test steps that only use AI as fallback. Commands are matched by prefix, case-insensitively, after trimming whitespace. Values are usually wrapped in quotes:Documentation Index
Fetch the complete documentation index at: https://docs.mobileboost.io/llms.txt
Use this file to discover all available pages before exploring further.
Command reference
| Command | Accepted values | What it does |
|---|---|---|
tapOn: "<text>" | Visible element text. tapOn: center is also supported. | Taps the matching text element or the center of the screen. |
tapOn.id: "<element id>" | Resource ID on Android or accessibility identifier on iOS. | Taps the matching element ID. |
longPressOn: "<text>" duration: <seconds> | Visible element text. Duration is optional. | Long-presses the matching text element. Defaults to about 2 seconds when no duration is supplied. |
longPressOn.id: "<element id>" duration: <seconds> | Element ID. Duration is optional. | Long-presses the matching element ID. Defaults to about 2 seconds when no duration is supplied. |
multiTap.text: "<text>" count: <number> | Visible element text. Count is optional. | Taps the matching text element multiple times. Defaults to 1 if count is omitted. |
multiTap.id: "<element id>" count: <number> | Element ID. Count is optional. | Taps the matching element ID multiple times. Defaults to 1 if count is omitted. |
zoom: in / zoom: out | in or out. | Performs a zoom gesture. |
type: "<text>" | Any text. Quotes preserve whitespace and special characters. | Types text into the focused input. Zero-width characters are stripped before typing. |
press: enter | enter. | Presses Enter. Other keys are currently not handled by this command. |
launchApp: "<bundle id>" | App bundle or package ID. | Launches the specified app. |
openLink: "<url>" | URL or deeplink. {{extractedLink}} is supported. | Opens a URL or deeplink in the session. |
openAppClipLink: "<url>" | App Clip URL. | Opens an App Clip link. |
restartApp | No value. | Restarts the current app. |
scroll: <direction> [<n> times] | Direction: up, down, left, or right. Repeat count is optional. | Scrolls in the requested direction. For implementation purposes, scroll movement is inverted into the underlying swipe direction. |
swipe: <direction> [<n> times] | Direction: up, down, left, or right. Repeat count is optional. | Swipes in the requested direction one or more times. |
slide: <direction> <percentage>%;<x>;<y>; | Direction: up, down, left, or right; percentage; and screen coordinates. | Performs a swipe or slide starting at the provided coordinates for the requested percentage of the screen. |
scrollUpUntilVisible.text: "<text>" | Visible text. | Scrolls upward until the text is found, or fails if it cannot be found. |
scrollDownUntilVisible.text: "<text>" | Visible text. | Scrolls downward until the text is found, or fails if it cannot be found. |
scrollUpUntilVisible.id: "<element id>" | Element ID. | Scrolls upward until the ID is found. Supported only for Android. |
scrollDownUntilVisible.id: "<element id>" | Element ID. | Scrolls downward until the ID is found. Supported only for Android. |
scrollToBottom | No value. | Repeatedly scrolls down until screenshots stop changing. |
assertVisible.text: "<text>" | Visible text. | Passes if the text is visible. Otherwise, the step fails. |
assertVisible.id: "<element id>" | Element ID. | Passes if the element ID is visible. Otherwise, the step fails. |
assertNotVisible.text: "<text>" | Text expected to be absent. | Passes if the text is not visible. Otherwise, the step fails. |
assertNotVisible.id: "<element id>" | Element ID expected to be absent. | Passes if the element ID is not visible. Otherwise, the step fails. |
pressBackButton | No value. | Presses Android Back. |
wait: <seconds> | Number of seconds. | Waits for the requested number of seconds. |
removeText: "<text>" | Text whose length determines how many backspaces to send. | Sends one Backspace per character in the provided text. |
go to: home | home. | Sends the device to the home screen. |
offlineMode: true / offlineMode: false | Boolean string. | true disables network connectivity. false enables it again. Requires the offline-mode setting to be enabled. |
curlRequest: <curl command> | A cURL command. | Executes the request through the backend helper and remembers the JSON response for later steps. |
takeScreenshot: "<label>" | Screenshot label. | Logs the screenshot label. This command does not capture a screenshot directly in the current handler. |
play: <audio filename> | Name of an uploaded company audio file. | Plays the matching audio file. Currently supported only on dedicated MobileBoost infrastructure. |
playVoice: "<text>" | Text to synthesize. | Plays generated speech for the provided text. Supported only on dedicated MobileBoost infrastructure. |
listen | No value. | Records or listens and remembers the transcribed text. Supported only on dedicated MobileBoost infrastructure. |
extractLinkFromEmail: <email>;<url pattern> | Email address and URL pattern separated by ;. | Reads email through the backend helper, stores the extracted link, and makes it available as {{extractedLink}}. |

