Skip to main content
Beta Feature — Mobile automation is currently in beta. Please report any issues to founders@morphllm.com.
Mobile app testing is available on Pro and Scale plans. Upgrade your plan to get started.
Test your mobile apps with natural language. Describe what to test and Morph runs it on real iOS and Android devices.

Quick Start

Providing Your App

Pass a publicly accessible URL to your .ipa (iOS) or .apk (Android) file. Morph downloads and provisions it automatically. The simplest approach for most teams:

GitHub Actions Artifacts

Upload your build artifact and pass the download URL:

S3 or Cloud Storage

Generate a presigned URL and pass it:

Fastlane Integration

After building with Fastlane, upload to a release:

API

execute()

Run a test synchronously:
Response:

createTask()

Run tests asynchronously:

listDevices()

Get available devices:

Available Devices

iOS

Android

Writing Good Tasks

Be specific:
max_steps guide:
  • Simple tasks (tap, verify): 10-20 steps
  • Form submissions: 20-30 steps
  • Complex flows (checkout, onboarding): 30-50 steps

GIF Traces

Every test generates a GIF trace showing what happened:

FAQ

Real iOS devices (iPhone 15-17, iPad Pro) and Android devices (Samsung Galaxy, Google Pixel). Use listDevices() to see all available options.
Any publicly accessible URL that returns the raw .ipa or .apk file:
  • GitHub Releases: https://github.com/org/repo/releases/download/v1.0/app.ipa
  • S3 presigned URLs: https://bucket.s3.amazonaws.com/app.ipa?...
  • Direct download links: Any URL that downloads the file directly
The URL must be accessible without authentication, or use presigned/temporary credentials.
  • Simple tests: 30-60 seconds
  • Medium tests: 1-2 minutes
  • Complex flows: 2-5 minutes
Morph uses Gemini 3 Flash for understanding your app’s UI and executing actions. The model analyzes screenshots, identifies elements, and performs taps, swipes, and text input.
Yes. Provide a URL to your development build (.ipa for iOS, .apk for Android). This is ideal for testing PR builds before merging.