<- Blog

Announcing: Maintainable No-Code UI Automation for Mobile with Maestro Studio

Leland Takamine January 25, 2023

Today we are excited to announce the next evolution of Maestro Studio, which brings maintainable no-code UI automation to the Mobile ecosystem!

The new ability to record Maestro Commands drastically reduces Flow authorship time, and more importantly enables anyone to write Maestro Flows!

Upgrade to the latest Maestro CLI and run “maestro studio” to try it out!

Challenges with Existing Tooling

Before we dive into the announcement, let’s review the challenges with existing no-code tooling. There have been a number of attempts at no-code automation on mobile, but they each suffer from the same key issues:

  • Requires re-recording the whole test when something changes
  • Difficult to keep in sync with feature changes
  • Difficult to edit / tweak recorded tests
  • Difficult to run Flows as part of CI

Traditionally, no-code solutions focus on making writing tests from the ground up much easier — and to be fair, they usually do a good job of this. But the problem teams end up running into is this:

We’ve embraced this reality by treating maintainability as a core design principle when building Maestro Studio. Today, we are excited to introduce you to the first solution for maintainable no-code Mobile UI automation.

Maestro Studio

Meet the next evolution of Maestro Studio 🎉

Runs Locally

The first thing to note is that Maestro Studio runs against local mobile devices (iOS Simulator / Android Emulator / Device). This allows you to easily interact with your device to debug or set up a test case.

Exporting Flow Files

It’s straightforward to keep your recorded Flows in sync with any app features changes since Maestro Studio generates standard Maestro commands. Simply export or copy the commands, then commit the Flow file to version control.

Easy Test Editing

No-code automation tooling often feels “high-stakes” in that any mistake forces you to re-record the entire test. Maestro Studio removes the stress of recording your Flow by allowing you to add, remove, and even reorder recorded commands as needed.

Option to Manually Type Commands

Sometimes it’s useful (and/or necessary) to write out a command manually. Maestro Studio’s “REPL” interface provides first-class support for inputting commands manually. This is also a huge help when trying out various Maestro commands on your app.

Inspecting UI Elements

Maestro Studio can also surface a list of ways to interact with a given element. Right-click on the device screen to view a list of sample code snippets that you can copy over to your Flow.

Running Recorded Flows on CI

Whether you record your Flows using Maestro Studio or write them by hand, you’ll ultimately want to run them automatically. Since Maestro Studio generates standard Maestro Flows, you can easily run your Flows on CI using Maestro Cloud. Check out the documentation to learn how to integrate your Flows into any CI workflow.

What’s Next?

There are clear short-term improvements we’ll be looking into like autocomplete, GUI for editing commands, and more recordable gestures. But what we’re really excited about is the fundamental innovation that Maestro unlocks. Maestro’s structured, human-readable syntax makes it particularly well-suited to build on top of. Features like natural language-driven testing or 100% automatic testing are not as far off as you would think!

👋 Follow us on Twitter (@mobile__dev) for updates, and join 1000+ other Maestro users in our community Slack channel!

Learn more at mobile.dev

We're entering a new era of software development. Advancements in AI and tooling have unlocked unprecedented speed, shifting the bottleneck from development velocity to quality control. This is why we built — a modern testing platform that ensures your team can move quickly while maintaining a high standard of quality.

Learn more ->