Web Browsers

Test web applications in desktop browsers using Maestro's web automation capabilities.

Maestro extends its one framework to rule them all philosophy to the desktop browser. By using the same declarative YAML syntax you use for mobile, you can automate web applications, enabling unified end-to-end testing across your entire product surface.

circle-exclamation

Beta Status

Technical approach

Maestro maintains its "Arm's Length" philosophy for web testing. Instead of directly manipulating the DOM or injecting JavaScript, Maestro interacts with the browser as a user would.

  • Unified Syntax: The same commands like tapOn, inputText, and assertVisible work identically on Web as they do on Android and iOS.

  • Framework Agnostic: Whether your site is built with React, Vue, Angular, or plain HTML, Maestro interacts with the rendered output.

Execution Workflow

For web tests, you replace the appId with a url. Behind the scenes, Maestro treats the URL as the unique identifier for the application session.

On the first run, Maestro will automatically download a managed version of Chromium. Subsequent runs will launch instantly. To run the test with Maestro CLI, just run:

Maestro Studio for Web

Maestro Studio is fully compatible with web testing. It allows you to visually inspect web elements and generate YAML commands through a point-and-click interface.

Platform specifics and tips

  • Flutter Web: Just like Flutter Mobile, Flutter Web renders elements differently. You should use Semantics to make elements addressable. Refer to the Flutterarrow-up-right documentation for best practices.

  • Selectors: Maestro prioritizes user-visible text. For complex web apps, using unique text labels or stable accessibility attributes is recommended to ensure your tests remain "refactoring resilient."

Known limitations

As this feature is in Beta, certain advanced browser configurations are not yet supported:

  • Browser Engines: The current default and only supported browser is Chromium.

  • Localization: The default locale is set to en-US.

  • Screen Dimensions: Custom screen size and viewport configuration are currently preset.

Next steps

If you don't know how to create tests with Maestro, access the QuickStart guide to get up and running in minutes.

To learn how to create tests, refer to the Flows documentation. If you want to explore Maestro solutions, consult the appropriate documentation:

Last updated