revyl auth login. Sessions and remote builds use your organization’s cloud
resources. Use test data and keep API keys and screenshots private.
1. Build remotely
From your app’s project directory, runrevyl init once. Review the detected
recipe and its Revyl app ID using the remote build setup,
then run the command for your platform:
.app or zipped
.app; Android needs a compatible .apk. For project setup, dependencies, and
framework recipes, see Remote Builds and
Framework Guides.
2. Start a device with your app
Use the matchingapp_id from your project’s .revyl/config.yaml:
--build-version-id instead of --app-id. A build version ID is different from
a remote build job ID.
3. Control the device and capture evidence
Replace the placeholder with your session ID:4. Stop the device
Appium and Maestro
This quickstart uses Revyl’s native device commands. Connecting an unchanged Appium or Maestro suite still needs a framework connection layer; a viewer URL is not an automation endpoint. The Appium driver and Maestro runner implement attach-only native subsets over existing APIs and are available as private source repositories. Synthetic-app checks verified native lookup and gestures for Appium, and native actions, focused deletion, appearance, and deep links for Maestro on staging Android emulators and iOS simulators. Maestro’s input/paste uses the existing viewer control channel, with the input limitations documented separately; that integration has loopback coverage, not live-device verification. Duration-preserving swipe/scroll still requires undeployed worker capabilities and fails closed on current staging. Broader compatibility is not established. Get the Appium driver or Maestro driver for setup and runnable samples; repository access is required. The Maestro runner embeds the genuine Maestro runtime; it is not a plugin for stockmaestro test. Neither integration enables
standard UiAutomator2/XCUITest or full Maestro compatibility. See
the remaining requirements.
Optional: a complete script for CI
The script below starts one device, opens Settings or an uploaded build, saves screenshots, and stops only that session on exit. It needs Bash andjq.
It is a lifecycle smoke check, not an Appium or Maestro adapter.
Show the complete smoke script
Show the complete smoke script
smoke.sh, then run bash smoke.sh ios or
bash smoke.sh android. Add a platform-matching build version ID as the second
argument to open your own app instead of Settings.
The script sets a 600-second idle timeout as a fallback; an abrupt runner
termination can still prevent its cleanup trap from running. Give CI jobs their
own timeout, keep the returned session ID, and collect private screenshots even
when a job fails. Review the images before treating them as visual proof.