Mobilewright
Playwright-style mobile test automation for iOS and Android, from the makers of Mobile MCP.
If your team already writes Playwright tests, Mobilewright is the shortest path to mobile coverage: the same locator vocabulary, the same retrying expect, the same config and reporter story, at zero license cost under Apache 2.0. The recent run of releases is real work rather than marketing — codegen in a browser UI at v0.0.61, expanded getByRole() roles at v0.0.60, foldable support at v0.0.62. The tradeoff is breadth: Appium still owns device and driver ecosystem, and Maestro is easier for teams that want less code. Pick Mobilewright if you're code-first and value determinism; skip it if you need no-code authoring or legacy OS targets.
Verified 7d ago · liveness 49/100 · cite: rightaichoice.com/tools/mobilewright
- Playwright teams adding mobile end-to-end coverage with the same locator and assertion vocabulary
- TypeScript developers automating iOS and Android without adopting Appium's client/server model
- Code-first QA engineers who need a free, self-hosted, Apache-2.0 mobile automation framework
- AI agent developers who need deterministic selectors and retry semantics for driving mobile UIs
- Testers who author and maintain specs in a low-code or no-code UI rather than in code
- Projects that must support pre-iOS 12 or Android 8 devices
- Python-only or plain-JavaScript shops unwilling to adopt TypeScript
We scan live Reddit threads, YouTube comments, X posts, G2 reviews and other communities — and hand you an honest verdict in under a minute.
- Honest verdict, not marketing
- Real pros & cons from real users
- Attributed quotes with receipts
3 free scans · no card needed
Skip Mobilewright if your team authors specs in a low-code UI instead of TypeScript, or if you need to test devices older than iOS 12 and Android 8, since neither is a target it supports.
Running the suite on Mobile Next Cloud real devices requires a MobileNext API key (now read from the MOBILENEXT_API_KEY env var), so cloud device minutes are a separate line item from the free framework.
The framework itself is Apache 2.0 and free to self-host, which puts it below commercial mobile automation platforms on licence cost and beside Maestro on the low end of the category. The cost that actually varies is infrastructure: you supply the Macs, emulators and CI minutes, or you pay Mobile Next Cloud for real devices with a MOBILENEXT_API_KEY. Appium is also free, but trades your team's setup time for ecosystem breadth. Applies to teams comfortable owning their own device toolchain.
In short
Mobilewright — Playwright-style mobile test automation for iOS and Android, from the makers of Mobile MCP. Best for Playwright teams adding mobile end-to-end coverage with the same locator and assertion vocabulary, TypeScript developers automating iOS and Android without adopting Appium's client/server model, Code-first QA engineers who need a free, self-hosted, Apache-2.0 mobile automation framework. Free to use.
What's new in Mobilewright
Checked 7 days agoAcross the latest 4 updates: 4 changelog entries.
Mobilewright 0.0.63: MobileNext API key env var, webview and foldable fixes
MobileNext driver apiKey now defaults to MOBILENEXT_API_KEY. Fixes webview expect() polling, orphan mobilecli servers, landscape screenshot rotation and Android URL truncation after '&'. Bundles mobilecli 1.0.17.
Mobilewright 0.0.62 adds device.setFoldState() for foldable simulators
New device.setFoldState() folds/unfolds iOS simulators and Android emulators by state or hinge angle. codegen records open-URL and fill actions; Flutter getByTestId() matches widget keys. Bundles mobilecli 1.0.16.
Mobilewright 0.0.61 ships codegen browser UI for recording tests
mobilewright codegen is a browser UI that records taps and assertions against a live device screenshot into a test. Also fixes Android getByTestId() short resource-ids and marks Flutter as supported.
Mobilewright 0.0.60 expands getByRole() coverage
getByRole() accepts progressbar, alert and combobox; the Role type is exported from mobilewright and @mobilewright/test. Inspector now suggests roles.
What people actually say about Mobilewright — is it worth it?
We ran a structured research pass across product reviews, community discussions, and post-purchase forum threads to surface the patterns vendors won't publish themselves. Below: the recurring strengths, the hidden costs people mention most, and the cohort that consistently regrets adopting this tool.
1 mentions across 1 source (Hacker News) · researched Jul 3, 2026.
Average across the 1 source that answered — each source counts once, not each post.
- +Playwright-style API reduces flaky tests with auto-waiting and retry assertions.
- +Zero-config CLI automatically discovers devices and simulators.
- +TypeScript-first with full type safety improves developer experience.
- +Free pricing removes financial barrier to try.
- +Single API for iOS and Android simplifies cross-platform testing.
- −Extremely small community makes troubleshooting difficult.
- −No real-world usage stories or battle-hardened case studies.
- −Documentation lacks depth for advanced features like WebViews.
- −Comparisons with Maestro and Appium are theoretical, not empirical.
- −Unknown reliability at scale or in complex CI environments.
- • No paid tiers disclosed yet—may introduce enterprise pricing later
- • Device cloud access (e.g., BrowserStack) is separate cost
Viability Score
How well maintained and how widely used is Mobilewright? Built from what the vendor actually publishes (docs, changelog, tutorials, integrations, pricing), whether the site is live, and how much real users discuss it. How we calculate this
Last calculated: October 2026
How we score →Key Features
- Playwright-style TypeScript API with auto-waiting actions and retrying assertions
- Chainable semantic locators: getByLabel, getByRole, getByText, getByTestId
- Parallel workers, test retries and blob-report sharding merged via merge-reports
- HTML reporter with screenshots, video and accessibility tree on failure
- Zero-config CLI: init, test, inspect, doctor, show-report, merge-reports
- device.setFoldState() folds/unfolds iOS simulators and Android emulators (v0.0.62)
- codegen browser UI records taps and assertions against a live device screenshot (v0.0.61)
- getByRole() supports progressbar, alert and combobox roles (v0.0.60)
- getByWebView() returns a Playwright-compatible Page for hybrid app content
- Device control: setGeolocation, deep-link goto, launchApp with locale overrides
- Browser-based element inspector with element attributes and suggested locators
- Runs against simulators, emulators, USB-connected devices and Mobile Next Cloud devices
- Supports UIKit, SwiftUI, React Native, Expo and Flutter apps
- MobileNext driver apiKey defaults to the MOBILENEXT_API_KEY env var (v0.0.63)
- Mobile MCP server for driving a device from Claude Code, Cursor or Copilot via the accessibility tree
About Mobilewright
Mobilewright is an open-source, Apache-2.0 licensed framework that brings the Playwright Test developer experience to iOS and Android. You write TypeScript, you use the same fixtures, expect, reporters and config shape you already know, and the code runs against simulators, emulators, and real devices. Locators are chainable and semantic — getByLabel, getByRole, getByText, getByTestId — and every action auto-waits until its element is visible, enabled and stable, so you stop sprinkling sleeps into your tests. Assertions like toBeVisible retry until they pass or time out. The zero-config CLI handles the boring parts. npm init mobilewright@latest asks three questions, detects your bundle ID from a nearby Xcode or Gradle project, writes mobilewright.config.ts and hands you a passing test. npx mobilewright test runs the suite with parallel workers, retries and sharding plus an HTML report that includes screenshots, video and the full accessibility tree when something fails. npx mobilewright inspect opens a live device screen for pointing, clicking and copying the best locator, and npx mobilewright doctor checks Node, Xcode, JDK, ANDROID_HOME and adb before you waste an afternoon on a broken toolchain. It covers UIKit, SwiftUI, React Native and Expo apps, steps into hybrid WebViews to give you a Playwright-compatible Page, and exposes device-level control: setGeolocation, goto for deep links, launchApp with locales, and as of v0.0.62 setFoldState() for foldable simulators. Mobile MCP, the companion MCP server the same team publishes, lets Claude Code, Cursor or Copilot drive a device through the accessibility tree instead of screenshots, writing ordinary reviewable Mobilewright tests. It suits Playwright teams and TypeScript-first QA shops; it's a poor fit for no-code test authoring or pre-iOS 12 / Android 8 targets.
Behind the Verdict
Mobilewright's central bet is that mobile automation has more in common with web automation than the mobile tooling industry admits, and the product is built to prove it. The API surface will look familiar within minutes of opening the docs: test and expect imported from @mobilewright/test, fixtures for screen and device, parallel workers, retries, sharding, merge-reports, an HTML reporter at localhost:9323 that carries screenshots and video for failures. Where a proprietary mobile framework usually asks you to learn its vocabulary, this one asks you to reuse yours. The CLI is where the framework earns its keep in day-to-day use. Init scaffolds config, tests directory and a starter spec, and pre-fills the bundle ID when it spots an Xcode or Gradle project nearby. Doctor runs 17 checks across Node 22.12+, Xcode and Command Line Tools, JDK 11+, ANDROID_HOME, adb and emulator versions, and every failing check prints the commands that resolve it — with a --json mode for scripting. Inspector opens a live screenshot beside every element and the best locator for it. That combination removes most of the first-day friction that makes teams give up on mobile automation. The device API is broader than the seed description suggests. Beyond geolocation and deep links you get launchApp with locale overrides, landscape screenshot rotation, and setFoldState() for folding and unfolding iOS simulators and Android emulators by state or hinge angle. Hybrid apps are handled explicitly: getByWebView() hands back a Playwright-compatible Page so Cordova, Capacitor, Ionic and plain WKWebView content is driven with the same click-and-expect code you'd write for the web. The AI-agent angle is genuinely differentiated rather than bolted on. The same team ships Mobile MCP, an MCP server that gives Claude Code, Cursor, Copilot or your own agent a real phone to drive via the accessibility tree — roles and labels straight from the device, no vision model, no coordinate guessing, and far fewer tokens than screenshot loops. Crucially the agent's exploration resolves into an ordinary Mobilewright test you can review, commit and run in CI, which is the part most agent-driven test tools skip. Weaknesses are honest ones. It is pre-1.0, there is no commercial SLA, the documented integration list is short (Datadog and Checkly), and setup is not self-healing — you must bring a booted simulator, emulator or USB device, macOS 13+ with Xcode for iOS, JDK 11+ with the Android SDK for Android; Linux runs Android tests through the Docker image. If your team refuses TypeScript, or authors specs in a low-code UI, or needs devices older than iOS 12 / Android 8, this is the wrong tool and Appium or Maestro is the right one.
Researching Mobilewright? Get your full AI stack in 60 seconds.
Free, no signup — tell us your goal and get tools matched to your budget & existing stack.
Real-world workflow fit
Concrete scenarios for the personas Mobilewright actually fits — and what changes day-one when you adopt it.
Runs npm init mobilewright@latest, answers TypeScript/iOS/bundle ID, and gets mobilewright.config.ts plus tests/example.spec.ts generated with the bundle ID pre-filled from the nearby Xcode project. Rewrites the starter assertion to match the app's real first screen and runs npx mobilewright test.
Outcome: A passing mobile test on day one using the same getByRole().tap() and expect().toBeVisible() syntax already used in the web suite.
Moves unstable taps off fixed sleeps onto auto-waiting locators, turns on retries and sharding, and records new coverage with the codegen browser UI against a live device screenshot.
Outcome: Sharded CI runs merged with merge-reports into a single HTML report, with screenshot, video and accessibility-tree JSON attached to each failure.
Adds Mobile MCP to Claude Code or Cursor over MCP, points it at a simulator, emulator or cloud device, and lets the agent explore the app through roles and labels rather than screenshots.
Outcome: The agent's exploration comes back as ordinary Mobilewright code that the team reviews, commits and runs in CI, with far fewer tokens than a vision-based loop.
Use Cases
- Port an existing Playwright web suite to mobile without learning a second locator and assertion vocabulary
- Run parallel iOS and Android tests in CI with retries and sharded blob reports merged into one HTML report
- Record a test interactively with the codegen browser UI, then commit it as an ordinary spec
- Inspect a live device screen to copy the best locator for a stubborn element
- Drive hybrid Cordova, Capacitor, Ionic or WKWebView content through getByWebView() with Playwright Page APIs
- Verify foldable layouts by folding and unfolding simulators with device.setFoldState()
- Let an AI agent explore an app via Mobile MCP and convert its exploration into a reviewable Mobilewright test
- Gate every push with npx mobilewright doctor plus the suite so a broken toolchain fails loudly and early
Limitations
- Mobilewright is pre-1.0 and Apache-licensed with no official support SLA, so you own your own escalation path.
- It drives simulators, emulators and devices but never starts one for you: you need Node.js 22.12 or newer and a booted simulator, emulator or USB-connected device before the first test runs. iOS work requires macOS 13+ with Xcode and the Command Line Tools; Android requires a JDK 11+ and the Android SDK with ANDROID_HOME set and adb on PATH.
- It runs on macOS and Windows 11, and on Linux Android tests must go through the Docker image.
- Setup is verified manually with npx mobilewright doctor rather than self-healing.
- Pre-1.0 means APIs still move between minor releases (device.setFoldState(), getByRole() role expansion and the codegen UI all landed within recent versions), so pin your version in CI.
as of 2026-10-03
Verification history
We have re-verified Mobilewright 8 times since . Each pass re-reads the vendor's own pages and re-checks every listed field against that evidence; passes where nothing had changed are marked as such.
- — re-verified summary, description, our verdict, our analysis, pricing model, pricing tiers, features, integrations, who it suits, who should skip it
- — re-verified summary, description, our verdict, our analysis, pricing model, pricing tiers, features, integrations, who it suits, who should skip it
- — re-verified summary, description, our verdict, our analysis, pricing model, pricing tiers, features, integrations, who it suits, who should skip it
- — re-checked, vendor evidence unchanged
- — re-verified summary, description, our verdict, our analysis, pricing model, pricing tiers, features, integrations, who it suits, who should skip it
- — re-checked, vendor evidence unchanged
Showing the 6 most recent of 8 verification passes.
Free to cite with attribution — this page re-verifies continuously.
12-month cost
Project the real annual outlay, including the implied monthly cost when only an annual tier is published.
Vendor list price only. Add-on usage, seat overages, and contract minimums are surfaced under Hidden costs & gotchas.
Plans compared
For each published Mobilewright tier: who it actually fits, and what it adds vs. the previous tier. Cross-reference the cost calculator above for projected annual outlay.
Open Source
$0/mo
Ideal for
Playwright and TypeScript teams who can self-host and want deterministic iOS and Android coverage without a licence fee.
What this tier adds
Starting point: the full framework under Apache 2.0, free to use, with cloud device access billed separately via a MobileNext API key.
Where the pricing makes sense
The company stage and team size where Mobilewright's pricing actually pencils out — and where peers do it cheaper.
The framework itself is Apache 2.0 and free to self-host, which puts it below commercial mobile automation platforms on licence cost and beside Maestro on the low end of the category. The cost that actually varies is infrastructure: you supply the Macs, emulators and CI minutes, or you pay Mobile Next Cloud for real devices with a MOBILENEXT_API_KEY. Appium is also free, but trades your team's setup time for ecosystem breadth. Applies to teams comfortable owning their own device toolchain.
Setup time & first value
How long it actually takes to get something useful out of Mobilewright — broken out by persona, not the marketing-page minute.
Playwright engineer: minutes — npm init mobilewright@latest scaffolds config and a starter spec, and npx mobilewright doctor confirms the toolchain. QA engineer on a fresh machine: longer, because you must install and boot Xcode plus simulators for iOS, or a JDK, Android SDK, ANDROID_HOME and an emulator for Android; doctor reports all 17 checks and the fixes. Agent developer: add the Mobile MCP
Switching to or from Mobilewright
How to bring data in from common predecessors and how to get it back out — written for the switcher, not the buyer.
- →From Appium: rewrite capabilities JSON and driver waits as mobilewright.config.ts plus auto-waiting locators, keeping the same app and device matrix.
- →From Maestro YAML flows: convert each flow into a TypeScript spec using getByText/getByTestId and expect().toBeVisible(), then run it under npx mobilewright test.
- →From hand-rolled XCUITest or Espresso suites: keep the scenarios, express them once in TypeScript and run the same spec against both platforms.
- ↗To Appium: needed when you require driver or device breadth Mobilewright does not cover; expect to reintroduce capabilities JSON and explicit waits.
- ↗To Maestro: needed when the team wants low-code YAML authoring rather than TypeScript specs.
Integrations
Resources & Guides
Tutorials & Learning
YouTube returned 6 videos for “Mobilewright”, and we withheld 5: 5 could not be judged, because “Mobilewright” is a single word that other videos use for other things. Showing the 1 we can prove is about Mobilewright.
Official links
Tools that pair well with Mobilewright
Common stack mates teams adopt alongside Mobilewright, with the specific reason each pairing earns its keep.
Panto AI
Panto AI turns plain-English feature descriptions into deterministic Appium and Maestro mobile tests that run on 150+ real Android and iOS devices.
QA Wolf
QA Wolf maps your app with AI, writes deterministic Playwright tests from prompts, and runs them in parallel containers — or its engineers do the whole job for
Stagehand
Open-source SDK for building browser agents with AI primitives (Act, Extract, Observe, Agent) plus Playwright-style controls in TypeScript, Python, and Go.
Featured Head-to-Head Comparisons
Mobilewright vs Truleo
Truleo and Mobilewright serve entirely different markets—Truleo is a paid law enforcement intelligence platform for connecting siloed data, while Mobilewright is a free, open-source mobile test automation framework using Playwright. Choose Truleo if you're a police agency needing automated lead generation and report writing; choose Mobilewright if you're a developer/QA engineer automating mobile app testing.
Mobilewright vs Locus Robotics
Locus Robotics and Mobilewright serve entirely different domains. Choose Locus Robotics if you need physical warehouse automation to boost picking productivity by 2-3x in high-volume fulfillment. Choose Mobilewright if you need a free, developer-friendly mobile testing framework with Playwright-style API and AI agent capabilities. They are not direct competitors; the decision hinges on whether your problem is physical logistics or mobile app quality.
Mobilewright vs Presto Voice
If you need to automate mobile app testing or build AI agents for mobile, choose Mobilewright – it's free, open-source, and integrates with modern CI/CD. If you run a QSR chain and want to automate drive-thru ordering with proven revenue lift, Presto Voice is the enterprise choice. They solve entirely different problems; pick based on your domain.
Alternatives to Mobilewright
View allPanto AI
Panto AI turns plain-English feature descriptions into deterministic Appium and Maestro mobile tests that run on 150+ real Android and iOS devices.
Frequently Asked Questions
Best-of guides
Used Mobilewright? Help shape our editorial sentiment research.
