Instruction
AI-powered action step. Describe what to do in natural language, and Revyl figures out which elements to interact with.- Field:
instruction(e.g., “Tap the login button”, “Type ‘hello’ in the search field”) - Supports
{{variables}}in the instruction text.
Validation
Assert a condition on the current screen state. Fails the test if the assertion doesn’t hold.- Field:
instruction(e.g., “The home screen is visible”, “The price shows $9.99”)
Extraction
Capture data from the screen into a variable for use in later steps.- Fields:
instruction(e.g., “Get the order confirmation number”),variable_name(where to store the result)
Script
Run custom code in a sandboxed environment. Supports Python, JavaScript, TypeScript, and Bash.- Fields:
codeor select a library script,language, optionalvariable_namefor output
Manual
Precise device-level actions that don’t require AI interpretation. Every Manual sub-type except Wait is mobile-only.| Sub-type | Parameters | Description |
|---|---|---|
| Wait | duration (seconds, 0-1000) | Pause execution |
| Open App | bundle_id (optional) | Launch app. Empty = test app |
| Kill Installed App | - | Force-close the app |
| Go Home | - | Press the home button |
| Navigate | url | Open a deep link |
| Download File | url or library file reference | Fetch a file onto the device before a later step needs it |
| Set Location | latitude, longitude | Set GPS coordinates |
| Set Orientation | portrait or landscape | Rotate the device (defaults to portrait) |
Loop (While)
Repeat a block of steps while a condition is true (checked each iteration).- Fields:
condition(natural language condition),body(nested steps) - Default max iterations: 5
Decision (If/Else)
Branch execution based on a screen condition.- Fields:
condition(natural language condition),then(steps if true),else(steps if false)
Module
Insert a reusable group of steps from the Library into your test. The module’s steps execute inline during the run, as if they were part of the test.- Field:
module_id(select a module by name from the dropdown) - Changes to the module apply automatically to every test that imports it.