Launched this week

Mobilewright
Playwright for iOS and Android. Free and open source
70 followers
Playwright for iOS and Android. Free and open source
70 followers
Playwright for iOS and Android. One unified API to automate real devices, simulators, and emulators — deterministic, auto-waiting, zero-config. Built for developers and AI agents.





Hi PH 👋
I'm Leor, co-founder of Mobile Next. We build tooling for the agentic era of mobile development.
Mobile testing has been painful for a long time. The frameworks were built for a world where humans write tests by hand, on one platform at a time. None of them were designed for AI agents writing code, and most don't work cleanly across iOS and Android.
Mobilewright is our take. A Playwright-based automation framework for iOS and Android — chainable locators, auto-waiting on every action, and tests that read like English. Zero-config CLI, free and open source.
If you've been wrestling with mobile testing, what's been hardest? I am in the comments.
RiteKit Company Logo API
@leor_stern The cross-platform angle with Playwright's syntax is smart—most teams are tired of maintaining separate test suites for iOS and Android. Curious how you're handling the platform-specific quirks under the hood, especially around native gesture recognition and timing issues that usually trip up automation frameworks.
@osakasaul Thanks Saul — that's exactly the pain point we built against. Two things under the hood:
Auto-waiting eliminates the timing problem. Every action (tap(), fill(), assertions) polls the device for the element before acting. No sleeps, no arbitrary timeouts. This is architecturally different from Appium, where the HTTP round-trip model forces you into manual waits that cause most of the flakiness people associate with mobile automation.
One engine, platform-aware mapping. Under the hood, Mobilewright talks to mobilecli — our single Go binary that replaces simctl, adb, etc. When you write screen.getByRole('button'), it maps to Button on iOS and Button/ImageButton/ReactViewGroup (with clickable=true) on Android. Same for gestures — swipe('up') translates to the right coordinate math per platform. You write one test, the framework handles the translation.
The result is you get deterministic execution without platform-specific test code. Happy to go deeper on any of this, or show you a demo.
Recast
So great for getting things over the line!
What is the difference between Mobilewright and Maestro? I am using Maestro for iOS and Android testing, though Maestro doesn't handle real iOS device well.
NoteThisDown
@mate_ajdukovic what device are you using Maestro on?
@mate_ajdukovic Good question — and you're hitting on a real gap with Maestro's iOS real device support.
A few key differences:
TypeScript vs YAML. Rather than declarative YAML flows, Mobilewright gives you a full TypeScript API — screen.getByRole('button').tap(). That means conditionals, loops, data-driven tests, type safety, and full IDE support out of the box. If you've used Playwright for web, you already know the patterns.
Real device support. This is where it sounds like you're feeling the pain. Mobilewright runs on real iOS devices, real Android devices, simulators, and emulators — same API across all of them. Point your tests at a cloud device on Mobile Use and it's a one-line config change.
Auto-waiting architecture. Every action polls the accessibility tree until the element is visible, enabled, and stable — then acts. No manual sleeps or retry wrappers. This is what makes tests deterministic rather than flaky.
Ecosystem. Mobilewright plugs into Mobile Use (real cloud devices on demand) and Mobile MCP (AI agent access). So you can write a test locally, run it on a real iPhone in the cloud, and have your AI agent trigger it — same framework throughout.
If Maestro's iOS real device handling is giving you trouble, I'd genuinely suggest giving Mobilewright a spin — npx mobilewright init gets you a config and example test in seconds, and npx mobilewright doctor will tell you if your environment is ready.
This is directly related to what I’m working on and it works.
It is very promising, I did wright few script with mobilewright, simple configuration, easy setup and better execution. my final thought is, for sure it is going to be a game changing for mobile automation.
Workplan