Runtime / Mobile
Drive a device
Start, control, and debug Revyl cloud devices from the CLI.
You can use these devices without creating a Revyl test. See Device Infrastructure for custom harnesses, CI workflows, and the Appium and Maestro connection requirements.
If you are new, start with Device Quickstart.
Choose Your Path
Learn the core session and action loop in minutes.
How session.before_script and session.auth_bypass attach on revyl device start.
Stream perf, network, and device logs live, and pull post-session artifacts.
Fix session, install, grounding, and action issues quickly.
When To Use What
| Goal | Best Entry Point |
|---|---|
| First end-to-end run on a cloud device | Device Quickstart |
Signed-in starts via config (session.before_script / session.auth_bypass) | Auth And Session Prep |
| Full command-level control | Command Reference |
| Agent-driven device control from IDE | MCP Setup |
| CI orchestration of test and workflow runs | CI/CD Integration |
Core Ergonomics Loop
Whether you use CLI, SDK, or MCP, use the same reliable loop:
- Take a screenshot or otherwise re-observe current state.
- Choose one best action.
- Verify the result immediately.
- Repeat.
This avoids blind action chains and makes failures easier to debug.
Quickstart
This is the fastest way to get a working device session and take real actions safely.
1. Install and Authenticate
curl -fsSL https://revyl.com/install.sh | sh
brew install RevylAI/tap/revyl # Homebrew (macOS)
pipx install revyl # pipx (cross-platform)
uv tool install revyl # uv
pip install revyl # pipThen authenticate. The CLI prints an approval URL — open it in any browser and approve:
revyl auth loginYou can also use an API key:
export REVYL_API_KEY="rev_..."2. Start a Device Session
Run from the directory that owns .revyl/ (or a subdirectory of it) so project
config is loaded.
revyl device start --platform android --timeout 600
revyl device infoIf .revyl/config.yaml declares session.before_script and/or
session.auth_bypass, the CLI runs session.before_script and applies
session.auth_bypass when each is configured for iOS and Android sessions.
Web (alpha) starts do not run session.before_script. See
Auth And Session Prep.
3. Install and Launch Your App
Use a direct build URL (APK or IPA). Launch defaults to the app you just
installed, so you do not need to know its bundle ID — pass --bundle-id only
to launch a different installed app.
revyl device install --app-url "https://example.com/app.apk"
revyl device launch4. Use the Safe Action Loop
Always re-observe before and after important actions.
revyl device screenshot --out before.png
revyl device tap --target "Sign In button"
revyl device type --target "Email field" --text "user@example.com"
revyl device screenshot --out after.png5. Stop the Session
revyl device stopNext
- Signed-in sessions: Auth And Session Prep
- Full command coverage: Command Reference
- Agent-driven device control: MCP Setup
- CI/CD test and workflow runs: CI/CD Integration