Skip to main content
This guide takes you from zero to a passing test. By the end you’ll have the CLI installed, a test written in YAML, and a report you can share. Time: ~10 minutes

Step 1: Install the CLI

Verify it worked:

Step 2: Authenticate

You’ll be prompted for an API key. Get one from Account → API Keys.
For automated environments, set REVYL_API_KEY as an environment variable instead. See CI/CD Integration.

Step 3: Initialize your project

The interactive wizard:
  1. Detects your build system (Expo, Gradle, Xcode, Flutter, React Native)
  2. Creates .revyl/config.yaml
  3. Walks you through creating apps and uploading a build
To skip the wizard and configure manually:

Step 4: Upload a build

If revyl init didn’t upload a build for you, do it now:
Default debug builds work everywhere. If you’re uploading a custom build (release APK, .ipa, narrowed abiFilters), see Build Artifact Requirements.

Step 5: Write a YAML test

Create a file called login-smoke.yaml:
Key fields:
  • test.metadata.name — must be unique in your org
  • test.metadata.platformios or android
  • test.build.name — must match a Revyl app name exactly. Check with revyl app list.
  • test.blocks — ordered list of steps (intent-level instructions, assertions in separate validation blocks)

Step 6: Create the test

This checks the YAML with backend validation, copies it to .revyl/tests/login-smoke.yaml, creates the remote test, and writes config if it doesn’t exist yet.

Step 8: Run the test

The CLI queues the test, streams progress to your terminal, and opens the report in your browser.

Useful run flags

Step 9: Iterate

Edit .revyl/tests/login-smoke.yaml, then push and re-run:

YAML as Source of Truth

For teams that want test definitions version-controlled alongside code.

Commit .revyl/tests/ to git

The .revyl/tests/ directory is not gitignored by default. These YAML files are your source of truth — commit them.

Daily sync pattern

Check sync status

Reconcile when things drift

Resolve conflicts


Quick Reference