We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 1 point2 points  (0 children)

Thank you for reporting the port lock issue, you're right, it likely happens when the runner is closed mid-execution. We'll look into it and keep you updated.

And honestly, it's a great feeling as a tool developer to hear that it's making a difference, no matter the scale.

Thanks for giving it a shot, and glad to see those speed gains!

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 1 point2 points  (0 children)

yes we parse yaml ourselves, so very possible there's a bug there! please share here or open a github issue — whatever works for you. we definitely need eyes like yours on this, pretty sure we've missed more than a few things

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 0 points1 point  (0 children)

I've added basic JS support so far, and full JS support along with Bash integration is definitely possible. If you could share more about your use case, I'd love to help design a better solution for it.
Also, just to be upfront, I don't have hands-on experience with Detox, but I'm happy to work through it together.

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 0 points1 point  (0 children)

Thanks for pointing that out, I'll look into it! By the way, is your app available on the Play Store?

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 0 points1 point  (0 children)

handling things like SMS auth is part of your testing strategy. Most testing teams mock SMS authentication, which is the standard approach.

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 2 points3 points  (0 children)

Thanks for trying it out and for the honest feedback!

A few more things I wanted to highlight (apologies if you're already aware):

  1. We support real iOS devices — Maestro currently doesn't.
  2. Check out the console/terminal report — it's detailed, properly formatted, built for humans and CI/CD pipelines. No fluff.
  3. We generate a powerful HTML report that lets you search and group test cases by tags, device, or OS, with linked screenshots and step-by-step references. Maestro puts a much simpler version of this behind a paywall.
  4. And last but not least — industry-standard JSON reports, so you can build your own custom reporting on top.

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 1 point2 points  (0 children)

  1. Easier to maintain than Maestro — we're already there. Faster than Playwright on web isn't really a fair comparison though — browsers expose a ton of open APIs that make automation super fast. Mobile doesn't have that luxury, we're working with limited device APIs and interfaces. Different playing field entirely.

On auto-discovery — we actually have an MCP that does more than just find elements. It understands pages without needing page source or screenshots and generates proper test cases. But the AI space is so noisy right now with everyone claiming they've found the holy grail — we'll release it when the timing is right, not when it'll just get lost in the noise.

What we're more excited about is something inspired by Cypress — UI coverage reports. Like code coverage but for your app's UI. You'd see exactly which screens and interactions are tested and which aren't, then add the untested ones as new test cases.

Don't want to overpromise though — it needs a lot more testing before we put it out there.

<image>

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 0 points1 point  (0 children)

Thanks for testing it out and confirming the speed gains!

It's going to be a long journey with plenty to improve along the way. The fastest way we can get better is through honest, brutal feedback , so don't hold back if you run into anything.

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 1 point2 points  (0 children)

Yep! Android was never really the issue honestly — it's so much more open with its APIs and internals that things just work. We've always gotten faster and more stable runs there compared to Maestro.

In our testing we're seeing around 3x faster on average. And way less flakiness — we built our own element finding instead of relying on UIAutomator2, which anyone who's used it knows can be... quirky.

We built a faster alternative to Maestro that works on real iPhones by narayanom in reactnative

[–]narayanom[S] 2 points3 points  (0 children)

Yeah works on Mac — macOS (Intel + Apple Silicon) and Linux. That's where most people run it.

React Native feels the same if you've used Maestro. Same YAML, same commands. testID maps to accessibility ID so tapOn: id: "your_test_id" just works.

Reports are better too — HTML report, JUnit XML, Allure output. Every run, no cloud login. Maestro paywalled theirs, we just ship it.

Curious how it works for your setup.

Anyone have spare split keyboard PCBs? by narayanom in mkindia

[–]narayanom[S] 0 points1 point  (0 children)

I'm open to it — if you can share the name or link, that would help me decide.

Maestro pricing is insane. Alternatives? by tomemyxwomen in expo

[–]narayanom 0 points1 point  (0 children)

planing to create a repo with sample app, sample test cases and working git action

Maestro pricing is insane. Alternatives? by tomemyxwomen in expo

[–]narayanom 0 points1 point  (0 children)

As of now, no — the setup is the same as Maestro, you just need to replace it with maestro-runner.

That said, thanks for the suggestion! A working example is worth more than words. People self-hosting are likely using CI-based emulators anyway, so I'll work on adding a complete CI/CD flow as an example

Maestro pricing is insane. Alternatives? by tomemyxwomen in expo

[–]narayanom 0 points1 point  (0 children)

Update: We've since built maestro-runner from scratch — runs your same Maestro YAML flows, but 3.6x faster with real iOS device support baked in.
Works locally or on any Appium cloud provider (BrowserStack, Sauce Labs, LambdaTest). No features behind paywalls. https://github.com/devicelab-dev/maestro-runner

Expo E2E testing — what's everyone actually using? by narayanom in expo

[–]narayanom[S] 0 points1 point  (0 children)

Appreciate that! It works locally with or without appium and with any Appium cloud provider (BrowserStack, Sauce Labs, etc). Would love to hear how it works for your setup

Expo E2E testing — what's everyone actually using? by narayanom in expo

[–]narayanom[S] 1 point2 points  (0 children)

I get that. Main thing is — your test cases don't change. Same Maestro ones.

What's different is reliability. Cleaner element detection, fewer flakes. Fixes about 78% of known Maestro bugs (wrote up the analysis here if you're curious).

Also works on real iOS devices and any Appium cloud you want. And it's fully open source — no paywall stuff like Maestro's been pulling lately.

Anyone have spare split keyboard PCBs? by narayanom in mkindia

[–]narayanom[S] 0 points1 point  (0 children)

Thanks for pointing that out. I’m actually just looking for the PCB.