Skip to main content
Tests can be exported as YAML from the test editor for version control and CI/CD use.

Schema

test:
  metadata:
    name: "Test name"          # required
    platform: "android"        # "android" or "ios" (optional)
  build:
    name: "My App"             # required, matches build name in Revyl
    pinned_version: "1.2.0"    # optional, defaults to latest
  blocks:                      # required, array of steps
    - instructions: "..."
The app launches automatically at the start, so you don’t need an initial open_app step.

Example

test:
  metadata:
    name: "Login flow"
    platform: android
  build:
    name: "My App"
  blocks:
    - instructions: "Type '{{username}}' in the email field"
    - instructions: "Type '{{password}}' in the password field"
    - instructions: "Tap the Login button"
    - validation: "The dashboard screen is visible"
    - extraction:
        instructions: "Get the welcome message text"
        variable_name: "welcome_msg"

Step Types in YAML

TypeYAML KeyRequired Fields
Instructioninstructionstext
Validationvalidationtext
Extractionextractioninstructions, variable_name
Scriptcode_executioncode, language
Manualmanualstep_type + type-specific fields
If/Elseifcondition, then, optional else
Whilewhilecondition, body
Modulemodule_importmodule_id

Manual Steps

- manual:
    step_type: "wait"
    duration: 3
- manual:
    step_type: "open_app"
    bundle_id: "com.apple.mobilesafari"  # optional
- manual:
    step_type: "navigate"
    url: "myapp://settings"
- manual:
    step_type: "set_location"
    latitude: 37.7749
    longitude: -122.4194

Control Flow

# If/Else
- if:
    condition: "A login prompt is visible"
    then:
      - instructions: "Tap 'Sign In'"
    else:
      - instructions: "Tap 'Continue'"

# While loop
- while:
    condition: "A 'Load More' button is visible"
    body:
      - instructions: "Tap 'Load More'"
      - manual:
          step_type: "wait"
          duration: 2
Code Execution (Script) steps are not currently supported in YAML export. Variables using {{}} syntax are preserved.