Readit News logoReadit News
Too · 6 months ago
> declarative in yaml

Aw gawd no. Why do test framework authors repeatedly think this is a good idea? Everywhere I’ve worked that has embraced such a framework (often robot), the suites always eventually outgrow the capabilities of whatever DSL the framework provides.

Even with escape hatches into an established language, you turn the majority of test editing into second class citizen, because there is no chance that your ”test-IDE” will beat IntelliJ or VSCode. Developers don’t want to touch such test code and testers do the lazy thing and copy paste instead of building appropriate fixtures. Do you really want to relearn how to define a constant in flavor of the month test-dsl, vs just doing it the way you always do in TS?

When you see a yaml that resembles a list of ”steps”, it’s not declarative anymore, it’s a crippled imperative language in disguise.

leland-takamine · 6 months ago
Hi everyone, co-founder of Mobile.dev and co-author of Maestro here . Thanks jstan for sharing Maestro and for the kind words—really glad to hear it’s working well for you!

We built Maestro because E2E testing felt unnecessarily complicated, and we wanted something simple and powerful that anyone could use — whether you’re a seasoned developer or just getting started with automation. It’s been amazing to see it adopted at companies like Meta, Block, DoorDash, Stripe, and Disney, but honestly, what excites us most is seeing teams who’ve never done test automation before finally get a solid strategy in place because Maestro is so easy to use and get started with.

Oh, and if you’re wondering — yes, it works for web testing too!

We’re constantly iterating and adding features, so if you’ve got ideas, run into issues, or just want to chat, let me know. Always happy to hear how we can make it better.

Thanks again for checking it out, and happy testing!

tcoff91 · 6 months ago
Please add the ability to drive an actual iOS device instead of simulators.
leland-takamine · 6 months ago
In the works - stay tuned!
tibbe · 6 months ago
We used to use Maestro but then they unfortunately decided to go all in on AI and hiked the price to match, making it no longer worthwhile for us.
serial_dev · 6 months ago
We loved Maestro but we didn’t like the pricing and the team wanted something more predictable. We are using Moropo and it’s been great. Very affordable, good DX, and it’s all basically just Maestro with extras.

The advantages of using open source! It would be great if it became industry standard and more companies would offer it as a service.

lastdong · 6 months ago
Moropo sounds great, but unable to find open source repo / self-host docs. Would you be able to share the GitHub link for self-hosting Moropo? Thanks
riglar · 6 months ago
Tom, co-founder of Moropo here, thanks for the mention :-)
wiradikusuma · 6 months ago
Is the open-source version not usable/allowed for CI/CD environment?
leland-takamine · 6 months ago
Yep free and open-source to use. Plenty of folks run Maestro on directly on GitHub Actions, Bitrise, etc. Teams often run on our hosted cloud infra for parallelism and reliability when scaling up their testing, but that's totally up to you!
smalugu · 6 months ago
At SoFi we are using it with gitlab and AWS Linux/Mac runners. We can do parallel runs, data driven, get test logs, screen recordings etc
leland-takamine · 6 months ago
Hey tibbe - co-founder of Mobile.dev here. First off, totally get where you're coming from. We do offer a startup discount, but would love to dig in more to see if there's something we can work out. My co-founder and I would love to chat if you're open to it! Just shoot me a note if interested! leland@mobile.dev
wiseowise · 6 months ago
Wait? You have to pay? Or you mean the cloud?
divan · 6 months ago
Installed and tried it for a sample Flutter app. So far looks too good to be true :) Super easy to start and tinker with. And surprisingly fast. Learning how to write real world tests with Flutter apps probably will have some learning curve, but that's expected.

Would be amazing to use it with Flutter desktop (macos at least) to avoid running iOS simulators.

serial_dev · 6 months ago
I’ve been using Maestro for two very large Flutter apps and it’s been so ahead of every other option is not even funny.

No long compilation times, no half baked testing dev experience, supports iOS and Android, no pumpAndSettle BS, No Flutter hacks, multiple cloud providers (cloud.mobile.dev, moropo), you can interact with native elements, so you can work with push notifications, system dialogs, system settings, email clients, web views, browsers, and a very simple test definition files that every capable QA engineer can maintain with very little supervision from developers (no need for dart expertise for writing tests).

I can only recommend it.

divan · 6 months ago
Thanks for sharing your experience! Definitely gonna try on real projects.
bartekpacia · 6 months ago
I'm curious what other solutions you tried to test your Flutter app.
miereau · 6 months ago
I found out about Maestro after I coming across Flashlight. I was looking for something that could effectively give me a performance score for my apps like Google Lighthouse, but for mobile apps. I found that in Flashlight. I found Maestro was relatively easy to pick up, like others have said before.

I'm a performance engineering consultant, but my apps are side projects, so I needed something that helps me do some quick performance testing. Maestro, and Flashlight, help me do that. It's early days, but I'm actually working on a separate product to use both Flashlight and Maestro to test on any number of real devices so I can get performance score trends across devices. Contact me if you're interested.

Looking forward to testing some of the updates with Maestro, especially web and iOS device support.

mavamaarten · 6 months ago
We extensively use Maestro in our testing setup. We test our Android (+ Android TV) and iOS apps on a couple of different emulators, and use it to take a bunch of screenshots to generate diff reports.

The only thing we don't like so far is that it is not extensible at all. And the AI direction is one that we absolutely don't care for either.

We built a huge wrapper script in python that allows us to spin up and control a wiremock server, as well as help us implement features that are not supported by maestro directly. We make calls to a local webserver (spawned by our wrapper) from the maestro test to do this, which works surprisingly well but it feels like we could perfectly leverage custom yaml commands or something like that.

mrbombastic · 6 months ago
Trying this out at work and so far it has been leagues better than other mobile automation tools. I have just gotten started but it has been encouraging.
leland-takamine · 6 months ago
Awesome to hear! Feel free to tag me (@Leland) in our Slack community if you run into any issues! Slack invite: https://docsend.com/view/3r2sf8fvvcjxvbtk
moetouban · 6 months ago
Have you tried GPTdriver https://www.mobileboost.io/ for seamless natural language Gen AI mobile UI testing?