Run Maestro on CI via HeadSpin

maestro is a new mobile automation tool for Android and iOS (simulator) created by mobile.dev. The tool is OSS with Apache License 2.0, and the company may continue leading the development.

I won’t say anything about the differences etc between Appium here because they have different functionality and opinions. Users may also have several opinions such as the way to maintain test code, it is similar to what programing language you would like to use to implement features. For instance, sometimes we want to define test scenarios with domain context instead of vanilla steps like tap, find element etc to help communication with stakeholders. Automation tools provide their ways to write test code, or provide a way to achieve user’s opinions. In this topic’s aspect also maestro and Appium may have different opinions, so it may not easy to compare properly for users.

In this article, I’d like to leave a note about how to run the tool over the internet on a CI with HeadSpin. (Note that this is just my personal note)

hs connect is a CLI that allows you to attach to devices running on HeadSpin platform from your local machine, or CI machine. You can run adb etc to the device similar to over USB devices. Maestro does not have Web API to achieve interactions like W3C WebDriver protocol used by Appium. It expects a test device is locally connected. The typical usage is emulators running on a CI, I assume.

Over hs ccnnect, you can run maestro scenarios against remote devices managed by HeadSpin. For example, maestro studio over hs connecct shows the UI elements etc on your local browser. It actually can allow you to integrate maestro into your CI only with maestro and hs connect by HeadSpin. Emulators may cause unexpected flakiness on CI machines, so running tests to remote devices somehow may help to improve the stability on CI env.

Happy testing by selecting tools fit for you!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.