Drone wraps any pytest-based test suite in a powerful browser dashboard — one-click execution, live streaming output, and smart failure recovery across all your projects, because shipping broken software is not an option.
When testing is manual, inconsistent, and skipped under deadline pressure, bugs reach production. And production bugs cost far more than the QA you didn't do.
Deadline pressure kills manual test runs. Your QA process is only as reliable as the person doing it — and they're always working against the clock.
A single test failure means rerunning the entire suite from scratch — wasting 30 minutes when only 3 tests actually failed. Every iteration costs time you don't have.
Test history, reports, and results are scattered across machines and logs. There's no single source of truth for quality status across your product portfolio.
Drone is designed to have the lowest possible setup cost and the highest possible ongoing value. You configure your project once, and the platform handles everything else.
Drop two JSON configuration files into a folder. Drone auto-discovers your test suite, modules, and scenarios. No framework changes, no instrumentation, no agent to install.
Open the browser dashboard. Select a suite, a module, or just the failed tests from last time. Click Run. No command line required — any team member can trigger a test run.
Watch every test execute line-by-line in real time. Stop any run instantly. When it's done, click Reports for a clean HTML summary — shareable with your whole team.
Zero-infrastructure QA that gets out of your way and lets your test suite do the work.
Bring any pytest-based test suite — Drone wraps it instantly. Drop two JSON config files to register your project: one for suite configuration, one for scenario definitions. No framework changes, no instrumentation, no agent required.
Run a full suite, a specific module, or just the failed tests from last time — all from the browser. No CLI knowledge required for day-to-day runs. Any team member can be a QA operator.
Every test line streams to the browser in real time via Server-Sent Events. You see exactly what's happening as it happens — no waiting for a process to finish before knowing whether it worked.
After any run with failures, a "Rerun Failed" button appears automatically. It reruns only the tests that failed — not the full suite. A single click saves 20–40 minutes on every iteration cycle.
A visible Stop button terminates any active run immediately — no waiting, no zombie processes. When a critical failure appears in the stream, you can stop and triage in seconds.
One Drone instance serves your entire product portfolio. Switch between registered projects without leaving the dashboard. Each project has its own independent run history and configuration.
Clean, readable HTML test reports are generated from every run and available with one click from the Reports tab. Share with your team, attach to PRs, or review with stakeholders — no tooling required.
Drone runs on pure Python stdlib — no Flask, no FastAPI, no Redis, no Docker required to run the platform itself. It deploys anywhere Python runs. Adding projects requires two JSON files, nothing more.
Drone doesn't just run your tests — it makes them navigable. Every scenario in your suite is surfaced in the Scenarios tab, filterable by module, layer, and type. You always know exactly what exists, what it covers, and what last ran.
Drone supports any test classification scheme your team uses. Scenarios can be filtered and targeted by any combination of dimension — run only your API tests, only your negative cases, or a specific module's regression suite.
Browse every scenario in your suite, filter by module or test type, and run targeted suites with one click — from a single clean interface.
| TC ID | MODULE | TITLE | METHOD | ENDPOINT | TYPE |
|---|---|---|---|---|---|
| TC-AUTH-01 | Auth Layer | User login — valid credentials | POST | /api/auth/login | ✓ Happy |
| TC-AUTH-02 | Auth Layer | Invalid password returns 401 | POST | /api/auth/login | ✕ Negative |
| TC-AUTH-03 | Auth Layer | Expired token rejected | GET | /api/auth/verify | ✕ Negative |
| TC-CORE-01 | Core API | Create record — all required fields | POST | /api/records | ✓ Happy |
| TC-CORE-02 | Core API | Missing required field validation | POST | /api/records | ✕ Negative |
| TC-CORE-03 | Core API | Paginated list — correct ordering | GET | /api/records | ✓ Happy |
| TC-USER-01 | User Mgmt | New user registration flow | POST | /api/users | ✓ Happy |
| TC-USER-02 | User Mgmt | Duplicate email rejected | POST | /api/users | ⊘ Isolation |
| TC-NOTIF-01 | Notifications | Email dispatched on trigger event | POST | /api/notify/send | ✓ Happy |
Drone pricing is based on the scope of your test suite, the number of projects you need to cover, and how you want it deployed. Let's have a conversation.
The best way to understand what Drone can do for your QA process is to see it running live — against a real test suite, in real time. We'll walk you through a full demo and answer every question you have.
We respond within 24 hours. Deployable on your own infrastructure or ours.