Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

product: maestro audience: test-developer authority: normative

Local Development Commands

Validate YAML

# All files — level 1 always; level 2 requires stack
py validate.py

# Specific file
py validate.py tests/my-test.yaml

Validate via API

$yaml = Get-Content "tests/my-test.yaml" -Raw
$body = @{ yamlContent = $yaml } | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:7000/api/yaml/validate" `
    -Method POST -Body $body -ContentType "application/json"

Validate via UI

Open http://localhost:7001/yaml-validator, paste YAML, click Validate.

Run a test via API

$body = @{
    yamlFilePath = "my-package/tests/my-test.yaml"
    serialNumber = "DEV-001"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:7000/api/testexecution/run" `
    -Method POST -Body $body -ContentType "application/json"

Run a test via UI

Open http://localhost:7001/test-monitor, select the YAML file, enter the serial number, click Start Test.

View results

Open http://localhost:7001/test-results and search by serial number.

Start the full stack

.\scripts\start-fullstack.ps1
# API: http://localhost:7000  (Swagger: http://localhost:7000/swagger)
# UI:  http://localhost:7001

Build and publish .NET runner

The Maestro runner DOES NOT build your project. You MUST publish the output before the runner can load your DLLs.

# From your runner project directory
dotnet publish <YourProject>.csproj -c Release -o assemblies/ --no-self-contained

After publishing, verify assemblies/<YourProject>.dll exists, then commit assemblies/ so the runner can load it from the repository.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.