Skip to main content

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: code or select a library script, language, optional variable_name for output

Manual

Precise device-level actions that don’t require AI interpretation. Every Manual sub-type except Wait is mobile-only.
Sub-typeParametersDescription
Waitduration (seconds, 0-1000)Pause execution
Open Appbundle_id (optional)Launch app. Empty = test app
Kill Installed App-Force-close the app
Go Home-Press the home button
NavigateurlOpen a deep link
Download Fileurl or library file referenceFetch a file onto the device before a later step needs it
Set Locationlatitude, longitudeSet GPS coordinates
Set Orientationportrait or landscapeRotate 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.