githubEdit

Cloud

Upload an app binary and run Maestro flows on DeviceCloud. This is the primary command and a drop-in replacement for maestro cloud.

dcd cloud <app-file> <flows-dir> [flags]

The command blocks until all tests have completed, then exits with an appropriate exit code.

Arguments

Argument
Description

<app-file>

Path to your app binary (.apk for Android, .app or .zip for iOS)

<flows-dir>

Path to the flow file or directory of flows to run

Flags

Authentication

Flag
Description

--api-key <key>

Your DeviceCloud API key. Defaults to DEVICE_CLOUD_API_KEY env var

App

Flag
Description

--app-binary-id <id>

Reuse a previously uploaded binary instead of uploading again

--additional-app-files <paths>

Comma-separated list of additional app files to upload

--additional-app-binary-ids <ids>

Comma-separated list of additional binary IDs to include

--ignore-sha-check

Force re-upload even if a binary with the same SHA already exists

Device

Flag
Description

--android-device <device>

Android device model to run on (see Devices)

--android-api-level <level>

Android API level

--ios-device <device>

iOS device model to run on (see Devices)

--ios-version <version>

iOS version

--device-locale <locale>

Device locale (see Device Locale)

--orientation <orientation>

Device orientation (see Orientation)

--google-play

Use a Google Play-enabled device (see Google Play APIs)

--runner-type <type>

Runner type to use (see Runner Types)

Flows

Flag
Description

--flows <paths>

Comma-separated list of flow files to run (alternative to positional arg)

--config <path>

Path to a config.yaml workspace config file

--exclude-flows <paths>

Comma-separated list of flow files to exclude

--include-tags <tags>

Only run flows with these tags (comma-separated)

--exclude-tags <tags>

Skip flows with these tags (comma-separated)

Test Configuration

Flag
Description

--maestro-version <version>

Maestro version to use (see Maestro Versions)

--env <KEY=VALUE>

Environment variables to pass to the test. Repeat for multiple values

--name <name>

Name for this upload (shown in the console)

--retry <n>

Retry failed tests up to n times. Max 2 (see Retry Strategies)

--report <format>

Generate a report. Options: junit, html, html-detailed, allure (see Report Formats)

Android-Specific

Flag
Description

--maestro-chrome-onboarding

Run Chrome onboarding before tests (see Chrome Onboarding)

--android-no-snapshot

Disable snapshot restore at test start

--enable-animations

Enable device animations during tests

Output & Execution

Flag
Description

--async

Submit tests and return immediately without waiting for results (see Async Execution)

--quiet

Suppress per-test output; print only the final summary

--json

Output results as JSON. Exits 0 even on test failure

--json-file <path>

Write JSON results to a file

--download-artifacts <ALL|FAILED>

Download test artifacts after completion (see Artifacts)

--debug

Enable verbose debug logging

--use-beta

Use the beta version of the DeviceCloud runner

Examples

Android:

iOS:

Filter by tag:

Reuse a previously uploaded binary:

Save results to JSON:

Last updated