LogoLogo
🚀 Run Maestro tests in the cloud →
  • Home
  • Star us on GitHub
  • Getting Started
    • What is Maestro?
    • Installing Maestro
      • macOS
      • Windows
      • Linux
    • Build and Install your App
      • Android
      • iOS
    • Run a Sample Flow
    • Writing Your First Flow
    • Maestro Studio
    • Running Flows on CI
  • Cloud
    • Run Maestro tests in the cloud
    • Cloud Quickstart
    • CI Integration
      • GitHub Actions
        • Maestro GitHub Action for Android
        • Maestro GitHub Action for iOS
        • Maestro GitHub Action for Flutter
      • Bitrise
      • Bitbucket Pipelines
      • CircleCI
      • Integration with any CI platform
    • Pull Request Integration
    • Cloud Reference
      • Build your app for the cloud
      • Configuring OS Version
      • Configuring device locale
      • Device timezones
      • Email Notifications
      • Slack Notifications
      • Webhook Integration
      • Managing Secrets
      • Limits
      • Reusing App Binary
      • IP Allowlist
      • System Status
  • Platform Support
    • Supported Platforms
    • Android - Views
    • Android - Jetpack Compose
    • iOS - UIKit
    • iOS - SwiftUI
    • React Native
    • Flutter
    • Web Views
    • Web (Desktop Browser)
  • Examples
    • Android contacts flow automation
    • Facebook signup flow automation
    • Advanced: Wikipedia Android
    • Page Object Model
  • CLI
    • Cloud
    • Test Suites & Reports
    • Tags
    • Record Your Flow
    • Continuous Mode
    • View Hierarchy
    • Start Device
  • API Reference
    • Commands
      • addMedia
      • assertVisible
      • assertNotVisible
      • assertTrue
      • assertWithAI
      • assertNoDefectsWithAi
      • back
      • clearKeychain
      • clearState
      • copyTextFrom
      • evalScript
      • eraseText
      • extendedWaitUntil
      • extractTextWithAI
      • hideKeyboard
      • inputText
      • killApp
      • launchApp
      • openLink
      • pressKey
      • pasteText
      • repeat
      • retry
      • runFlow
      • runScript
      • scroll
      • scrollUntilVisible
      • setAirplaneMode
      • setLocation
      • startRecording
      • stopApp
      • stopRecording
      • swipe
      • takeScreenshot
      • toggleAirplaneMode
      • tapOn
      • doubleTapOn
      • longPressOn
      • travel
      • waitForAnimationToEnd
    • Common command arguments
    • Selectors
    • Configuration
      • Workspace configuration
      • Flow configuration
      • AI configuration
  • Advanced
    • Nested Flows
    • Wait
    • Loops
    • Conditions
    • Parameters & Constants
    • JavaScript
      • Run JavaScript
      • Outputs
      • Logging
      • Access element text
      • Make HTTP requests
      • GraalJS support
      • JavaScript announcement blog
    • Specify a Device
    • Configure Permissions
    • Detect Maestro in your app
    • Configure Maestro driver timeout
    • onFlowStart / onFlowComplete hooks
    • Test in different locales
    • Structuring your test suite
  • Troubleshooting
    • Known Issues
    • Frequently Asked Questions
    • Bug Report
    • Rollback Maestro
    • Debug Output
    • HOWTOs
      • Arrange your repository for Maestro tests
      • scrollUntilVisible for fragments
  • Community
    • Contributions
    • Articles & Tutorials
    • Case Studies
    • Resources
Powered by GitBook

Read to wire into CI or scale up your testing?

  • Run Maestro tests in the cloud →
On this page
  • 1. Install the Maestro CLI
  • 2. Retrieve your API Key and Project ID
  • 3. Download the Samples
  • 4. Run your Flow in the cloud
  • 5. View results in the console
  • Congrats 🎉

Was this helpful?

Edit on GitHub
  1. Cloud

Cloud Quickstart

PreviousRun Maestro tests in the cloudNextCI Integration

Last updated 1 month ago

Was this helpful?

🚀 Cloud Plan required - get started for free at maestro.dev

Before wiring into CI, we recommend uploading a local build from your terminal to see the process working end-to-end. These steps should take you less than 5 minutes.

1. Install the Maestro CLI

We'll be using the maestro cloud command below to run your flows in the cloud, so start by if you haven't already:

curl -Ls "https://get.maestro.mobile.dev" | bash

2. Retrieve your API Key and Project ID

Log in to the Maestro console, click Settings and copy your Project ID and generate an API Key.

3. Download the Samples

Use the download-samples command to download a sample app and Flow file:

maestro download-samples

You can of course choose to upload your own app and Flow file, but we recommend using the samples first to see how it works!

4. Run your Flow in the cloud

Use the maestro cloud command to run your flow in the cloud. This command works the same whether you're running it locally or in CI.

Android

cd ./samples
maestro cloud --api-key <API_KEY> --project-id <PROJECT_ID> sample.apk android-flow.yaml

iOS

cd ./samples
maestro cloud --api-key <API_KEY> --project-id <PROJECT_ID> sample.zip ios-flow.yaml

To run both Android Flows in the cloud, you can for example run the following command outside of the samples folder.

maestro cloud samples/sample.apk samples

5. View results in the console

A link to the Maestro console is printed out after your Flow is uploaded successfully. Click on the link to view the results of your upload. It may take a minute or so before your results are ready.

Congrats 🎉

Congrats, you just ran your first Maestro Flow in the cloud! 🙌

Now that's you've seen how this works locally, let's take a look at how this can be integrated into your CI workflows:

To run any flow that depends on other files (like the advanced examples) you need to upload the full folder, so that Maestro has all of the files it needs. More information about subflows and what Flows to include can be found .

CI Integration
installing the Maestro CLI
here