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
  • FAQ
  • How does this work?
  • Are video URLs private?
  • Why doesn't rendering happen locally?
  • How long are videos stored?
  • what is the maximum duration for a Flow recording?

Was this helpful?

Edit on GitHub
  1. CLI

Record Your Flow

PreviousTagsNextContinuous Mode

Last updated 8 months ago

Was this helpful?

It's often useful to record a video of your Flow. Some reasons you might want to do this:

  • Showcase a Maestro Flow to your team

  • Share a Maestro Flow on social media

  • Demonstrate some behavior of your Flow (eg. for debugging purposes)

Maestro makes this easy to do without needing to clean up your desktop, arrange your windows, or deal with screen recording software.

Simply run the command below to render a beautiful MP4 video of your Flow in action:

maestro record YourFlow.yaml

Here's an example of the final output:

FAQ

How does this work?

The maestro record command captures the raw Flow output and app screen recording, and then programmatically stitches them together into an mp4 file. Today, the rendering is done on mobile.dev servers so the command sends the screen recording and Flow output securely over the internet to our API.

Are video URLs private?

Why doesn't rendering happen locally?

We'd also prefer to render videos locally, but the rendering logic today requires dependencies that we'd rather not force our users to install in their environment. Remote rendering allows maestro record to work out of the box without any additional setup steps.

We may implement local rendering in the future.

How long are videos stored?

Videos are deleted from our servers after 24 hours.

what is the maximum duration for a Flow recording?

The maximum duration is two minutes.

Yes - maestro record generates that is valid for 60 minutes. This means that no one can guess your video url and you are the only one who can download your video (unless you share the signed url). After 60 minutes, the url will be invalidated.

a signed url