Skip to main content

Maestro — Automotive Test Automation Framework (web dashboard + adapters)

Project description

🏁 Maestro — Automotive Test Automation Framework

Maestro consolidates SSH, ADB, bench power control, ETFW, DLT logging, serial consoles and Windows camera capture into a single browser-based dashboard. Non-technical users design test cases with drag-and-drop; engineers extend it through a hot-reloadable plugin system.

🚀 Quick start

# Requirements: Python 3.10+ (3.11.9 recommended), Node.js 18+

cd maestro
pip install -r requirements.txt      # or: pip install poetry && poetry install
python app.py

app.py installs anything missing, builds the React frontend on first run, starts the FastAPI backend on http://localhost:8000 and opens your browser. That's it.

URL What
http://localhost:8000 Maestro dashboard
http://localhost:8000/api/docs Interactive API documentation (Swagger)
http://localhost:8000/metrics Prometheus metrics

✨ Highlights

  • Drag-and-drop test designer (list + visual canvas) with pre-built step templates for SSH, ADB, power, ignition, ETFW, DLT, camera and serial console. Reorder steps freely — including inside parallel groups and on the canvas.
  • Run Targets: run a test case / scenario / suite Local or on a saved remote (RDP / domain-joined) host over SSH — chosen per test or at run time.
  • Registered scripts: register a bench script once (e.g. power_control.py) with its subcommands; each subcommand becomes a drag-and-drop palette item that runs python power_control.py <subcommand>.
  • Template Manager: create, edit and delete your own palette templates and register scripts from a dedicated page.
  • Execution engine: serial / parallel / step-by-step modes, retry with exponential backoff, IF/THEN conditional jumps, loops, parallel groups, per-device resource locking, sandboxed user scripts.
  • Authorship & integrity: every test case records who created/last-edited it (preserved across import/export); saved cases are read-only until you unlock.
  • Live monitoring over WebSocket: step status, logs, pause/resume/stop.
  • Reports: Allure-style HTML per run, plus one aggregated report per suite/scenario run, with timelines, artifacts and report diffing.
  • Scheduling: run a test case, scenario or whole suite once / daily / weekly / cron, with an optional start-from / run-until active window.
  • Enterprise security: AES-256-GCM credential vault, 5-role RBAC, audit log.
  • Observability: structured JSON logs, Prometheus metrics, adapter health.
  • Plugin system: manifest-based adapters, enable/disable, hot reload, custom plugins in data/plugins/.
  • Self-contained packaging: bundle adb platform-tools + ffmpeg into the PyPI wheel and a one-folder Windows installer (see INSTALL.md).

🧪 Development

# Backend tests
python -m pytest tests/

# Frontend dev server (proxies API to :8000)
cd frontend && npm install && npm run dev

# Frontend tests & build
npm run test && npm run build

🐳 Docker

docker compose -f docker/docker-compose.yml up --build

📚 Documentation

📄 License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maestro_automation-2.1.1-py3-none-any.whl (485.8 kB view details)

Uploaded Python 3

File details

Details for the file maestro_automation-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for maestro_automation-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 09c780fa44a9c57d6d4cf0829a5ba8f84c9cba2792993cb0f461fd3c5ba02b7d
MD5 d69a5afc026930235563db1b9aae254e
BLAKE2b-256 0eb558fdd3a80c96f04659df6decc6b07efa1b89ec31b4696833c4ead1f6a37c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page