YOUR ANDROID DEVICE LAB. CONNECTED.

Real devices.
Release confidence.
Your infrastructure.

Turn the Android hardware you already own into a test farm. Run your Maestro flows, catch real-device failures, and give every release evidence behind it.

Your devices. Your APKs. Your test results.

DEVICEYARD / RUNSIllustrative run
ANDROID · MAESTRO

Release smoke test

shop-demo.apk build 142

Passed
3 / 3flows passed
01:24run duration
AndroidUSB device
✓Sign in18s
✓Add to basket29s
✓Complete checkout37s
Artifacts collected
VideoScreenshotsLogs
$ deviceyard cloud app.apk e2e/scenarios
BUILT AROUND YOUR WORKFLOW
AndroidMaestroCLI & HTTP APIMCPOpenTelemetry

FROM “IT WORKS HERE” TO “WE TESTED IT”

The last mile deserves
a real device.

An emulator is useful. Your users hold hardware. Put a repeatable real-device check between a successful build and your next release.

01

Put the hardware you own to work.

Start with one Android device in Community. Pro is planned to add device pools and parallel execution, with a configurable concurrency cap.

02

See what happened. Fix what matters.

Bring screenshots, recordings, hierarchy dumps, and logs together with per-flow results. Give a failing build the context a red check cannot.

03

Make it part of how you ship.

Submit runs from your terminal, CI, or HTTP API. Export JUnit reports and download failure artifacts into your existing pipeline.

SMALL SETUP. REPEATABLE FEEDBACK.

Your flows.
One command.
The whole picture.

Keep writing Maestro flows. DeviceYard handles the journey from APK to device to a result your pipeline can act on.

  1. 1

    Connect your farm

    Run DeviceYard on a host with Android devices, ADB, and Maestro.

  2. 2

    Send an APK and your flows

    Use the CLI or API from your machine or CI.

  3. 3

    Get a verdict, with the evidence

    Review the run in the dashboard or collect reports and artifacts in CI.

terminalCI-ready
# Install the CLI
npm install -g @deviceyard/cli

# Point it at your running farm
deviceyard login --url https://your-farm.example.com

# Find your organisation
deviceyard whoami

# Run your flows (replace 1 with your org ID)
deviceyard cloud app.apk e2e/scenarios \\
  --org 1 \\
  --report junit \\
  --junit-path report.xml \\
  --download-artifacts FAILED

The CLI connects to an existing farm. In CI, supply an organisation token through your secret store.

KEEP YOUR LAB IN YOUR HANDS

Own the infrastructure.
Share the visibility.

App binaries and debugging artifacts belong on systems you control. Give your team one place to follow runs, investigate failures, and manage devices.

A shared view of every run

Job history, device management, organisations, memberships, and access tokens in the web dashboard.

Context for your coding agent

MCP integration lets agents submit tests and investigate failures through your farm.

Observability on your terms

Export traces, structured logs, and metrics to your own OTLP-compatible backend.

START WITH ONE REAL DEVICE

Give your next release
a better rehearsal.

Bring an Android device, an APK, and your Maestro flows. Talk to us about self-hosting access, or explore the published CLI if you already have a farm.

A FEW PRACTICAL ANSWERS

Before you
plug in.

Does DeviceYard support iOS?

DeviceYard currently supports Android devices connected over USB. iOS is not supported.

Do I need to rewrite my Maestro tests?

DeviceYard runs Maestro flows. Your project should place its scenarios under e2e/scenarios; the CLI packages the e2e directory so relative references stay together.

Can I choose a specific device for each run?

Community is planned around one active device per installation. Pro will add a device pool with jobs assigned to available devices and parallel execution. Selecting a particular model or device for a run is not currently supported.