Skip to content

shoma-mano/maests

Repository files navigation

A TypeScript-based solution inspired by maestro-ts for writing and running Maestro flows in a modular and reusable way.

✅ Features

  • You can write Maestro flows in TypeScript and execute directly.
  • Break down Flow into smaller, reusable modules
  • Automatically load environment variables from .env
  • Handling runScript with type.

🚀 Getting Started

Requirement

If you have not installed maestro yet, you have to install it at first.

Installation

pnpm -D add maests

1: Create your first flow

Create a new file my-first-flow.ts:

import { M } from "maests";

M.initFlow({ appId: "com.myTeam.myApp" });
M.tapOn("someTestId");

2: Execute Test

If the Android Emulator or iOS Simulator is launched, you can execute the test with:

npx maests my-first-flow.ts

If you don't have a project to try, the Playground is ready for you to use.

🚨 Trouble Shooting

Most of the issues are caused by Maestro itself rather than this library. But you can still check the YAML files that are generated by maests in the "maests" folder.

⭐️ Contributing

This package is currently under active development, and we welcome contributions from everyone!