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.2.0-py3-none-any.whl (517.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for maestro_automation-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8144ea26da5cbcdecb30b29eb29617f9570d31beb6f537eca1c9b983eeb7fb59
MD5 55705c67bbcf0cbb5b50af2bb7b738ec
BLAKE2b-256 a1074d68a946abb6250a4d3d24b6d27777a0f1b43cd58e10df5419518ea1be55

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