Native Maestro reporter: a step per command, with screenshots
Maestro results used to reach Qualflare as JUnit XML — one line per flow, with a status, a duration and a failure message. Everything Maestro actually did was left on the CI worker. qualflare-maestro changes that: it wraps maestro test, reads what Maestro leaves behind, and reports a step for every command, named from your flow's own YAML.
brew install qualflare/tap/qualflare-maestro
qualflare-maestro -- maestro test .maestro/
qf my-project collect ./qualflare-results
Maestro's exit code passes through unchanged, so the command drops into CI in place of maestro test.
What lands in a report that JUnit XML could not carry:
- A step per command, nested under
runFlow,repeatandretryon Maestro 2.10+. An optional command that did not succeed becomes a skipped step. - Maestro's own screenshots, attached to the step that took them.
- Tags and metadata read from the flow file, including
qualflare.*properties. - Runs that died before Maestro wrote anything — invalid YAML, no device — which previously produced no file at all, and so no launch.
Values passed with --env and MAESTRO_* environment variables are replaced with ${NAME} in report text, so values handed to a flow that way are not carried along with its results. The reporter makes no network calls of its own, and it works with both of Maestro's debug-output layouts (2.6.x and 2.10+).
It needs Maestro 2.6.0 or newer, and qf 0.1.24 or newer for screenshots. Full setup is on the Maestro test reporting page, and the limitations are listed in the repository.