Running Tests

Reading results & history

Per-step status indicators, the test's overall pass/fail/hard-fail outcome, and how run history shows up both in the macOS app and the web app.

After a run, Mavster surfaces results at three levels: per-step (live during the run, then frozen in history), per-test (overall pass/fail), and per-project (in the web app analytics).

Per-step status

Every step has a status that updates live during a run and is preserved in the test's history afterward. The four states map to the colors you see in the editor:

  • Not running — gray. The step hasn't been executed in the current run.
  • Running — blue. Mavster is executing this step right now.
  • Success — green. The step passed.
  • Failed — red. The step failed.

For Visual Assert and Tap, "failed" means Mavster couldn't confirm the assertion or couldn't find the target; for Wait Until, it means the timeout elapsed without the condition being met; for Run Test, it means the called test failed.

Per-test outcome

The test as a whole has three possible outcomes:

  • Success — all top-level steps passed (or all failures were absorbed by "run on failure" branches).
  • Failed — at least one step failed and the failure wasn't recovered by self-healing or absorbed by a conditional branch.
  • Hard failure — the test was blocked before it could even run, e.g. the credit check failed or the simulator couldn't be reserved.

Hard failures are distinct from regular failures because they signal an environmental block, not a test-content problem.

Run history

Each run records its own start time, end time, final status, per-step state, and any self-healing incidents (see Self-healing).

History accumulates locally and, when Cloud Sync is enabled, is pushed to the cloud and surfaced in the web app per-test analytics.

Reading a failed step

Click a failed step to see what Mavster saw at the moment of failure. For visual steps, this includes the captured screen and (when available) an annotated debug image showing what was found.

That snapshot is the single most useful artifact for diagnosing failures — almost every "why did this fail?" question is answered by looking at the screen Mavster was reasoning over.

Conditional branches change the outcome

If a step has a child set to "run on failure", that child runs when the parent fails. If the child succeeds, Mavster considers the parent's failure absorbed and continues; the test as a whole can still pass.

Without that branch, the first failed step stops the test. See Tests, Suites, and Steps → Conditional children.

Filtering and reviewing across runs

In the macOS app, the test header shows the most recent run's status and timestamp. The web app's project analytics view aggregates across all runs of a test — pass rate over time, average run duration, average cost.