Test steps in MobileBoost can be either command-based or AI-powered. Command-based steps execute directly against the UI hierarchy for fast, deterministic results. AI instructions use natural language and are more flexible, handling complex or non-standard interactions. If a command-based step fails at runtime, the AI automatically takes over as a fallback.
Command-based steps
Command-based steps run directly without AI, resulting in faster execution and lower cost. AI is only used as a backup when unexpected elements appear, such as popups, notifications, UI changes, or missing element IDs.
Commands can be created manually or generated automatically using the test recorder.
WebView automation through commands currently has limited support. Use AI instructions for WebView interactions instead.
Gestures
| Command | Description |
|---|
| Tap | Tap on an element by ID or text |
| Type | Type text into a field |
| Scroll (up/down) | Scroll in a direction |
| Scroll down until visible | Scroll down until a specific element or text appears |
| Scroll up until visible | Scroll up until a specific element or text appears |
| Swipe (left/right) | Swipe in a direction |
| Slide (left/right/up/down) | Slide a specific element in a direction by a percentage |
| Long press (by text) | Long press on an element identified by text |
| Long press (by ID) | Long press on an element identified by ID |
| Remove text | Clear text from an input field |
| Wait | Wait for a specified duration |
Navigation
| Command | Description |
|---|
| Navigate to screen | Navigate to a specific screen in the app |
| Open deep link | Open a deep link URL on the device |
| Launch app by ID | Launch a specific app by its bundle/package ID |
| Press Android back button | Press the system back button (Android only) |
| Restart app | Close and relaunch the app |
Assertions
| Command | Description |
|---|
| Assert visibility (element ID) | Verify that an element with a specific ID is visible |
| Assert visibility (text) | Verify that specific text is visible on screen |
| Detect audio playback | Verify that audio is currently playing |
Device actions
| Command | Description |
|---|
| Set location | Set the device GPS location |
| Shake device | Simulate a device shake (iOS only) |
| Match biometry | Simulate a biometric authentication match |
Network
| Command | Description |
|---|
| Execute cURL request | Run an HTTP request via cURL |
| Execute network call by selector | Make a network call and extract data using a JSON selector |
Email
| Command | Description |
|---|
| Verify email | Check for an email and follow a link matching a pattern |
AI instructions
AI instructions use natural language to describe the action. They handle more complex scenarios and are the recommended approach for WebViews, visual assertions, and flows that are difficult to express as commands.
| Instruction | Description | Example |
|---|
| Tap on | Taps on a specified element, text, or icon | Tap on "Login" |
| Type | Types out specified text | Type "hello@example.com" |
| Scroll | Scrolls up or down | Scroll down, one screen at a time, until you see "Settings" |
| Swipe | Swipes in a chosen direction | Swipe left on the screen |
| Slide | Slides a specified element in a direction | Slide right, by 50% on the volume slider |
| Check | Verifies an element or text is visible (fails the test if not) | Check that you are on a screen that displays "Welcome" |
| If / Otherwise | Conditional logic based on screen state | If "Accept" is displayed, tap on it, otherwise continue to the next step |
| RemoveText | Removes existing text from an input field | RemoveText: old value |
| Remember | Stores a value for use in later steps | Remember the code visible on the screen then later Type the remembered code |
| Task Complete | Succeeds the test when a condition is met | Task Complete: when "Order confirmed" is visible |
| Error Detected | Fails the test when a condition is met | Error Detected: when "Error" is visible on the screen |
| Execute: network request | Performs an HTTP request | Execute: network request GET;url=...;json selector=... |
| Open Deeplink | Opens a deep link on the device | Open Deeplink: myapp://settings |
| Double Tap | Taps twice on an element | Double tap on "Like" |
| Tap in sequence | Fast taps multiple times on an element | Tap in sequence 7 times on "+" |
| Long Press | Holds down on an element | Long Press on "Message" |
| Press Enter | Presses the Enter key | Press Enter |
| Go to Device Home Screen | Navigates to the device home screen | Go to Device Home Screen |
| Shake the device | Shakes the device (iOS only) | Shake the device |
| Verify Email | Checks email and follows a link | Verify email: email=test@example.com;link_pattern=verify |
| withVision | Enables visual assertions and actions based on visual cues | withVision: Verify the background color is red or withVision: Tap on any red Live button |
| Continue with next step | Skips to the next step | Continue with next step |