Browser UI
A full-featured, zero-build Single Page Application for interactive load testing.
Overview
Overload comes with a beautiful vanilla JS web interface built on top of a FastAPI backend. It allows you to configure, execute, and monitor load tests visually.
To start the UI, simply run:
overload ui
This will start the local server and automatically open http://localhost:3000 in your browser.
Key Features
- Auto-discovery: Automatically detects Postman collections, environment files, and CSV data files in your current working directory.
- Live Dashboard: Real-time Chart.js visualisations for RPS, error rates, and latency distribution using WebSockets.
- Beginner Mode: Toggle a "Beginner mode" button to show plain-English sub-labels under each KPI card. State is persisted across sessions in
localStorage. - Visual Configuration: Intuitive sliders and inputs for configuring all 10 load testing patterns, with a traffic-shape preview mini-chart.
- Request Selection: Per-request checkboxes in the collection tree, folder checkboxes with indeterminate state, Select All / Select None, and a live counter. Only checked requests are included in the run. Leaving all checked runs the whole collection.
- CSV Data Files: Drag-and-drop or upload a CSV file to drive parametric testing. The UI shows which
{{placeholders}}matched columns (green) and which didn't (amber). - Assertions Editor: Add and remove pass/fail conditions interactively before starting a test.
- Save/Load Config: Write current test settings to
overload.config.yamlfor CLI/CI reuse. Load a saved config to restore settings. - In-app Docs: A full documentation tab built into the UI — no browser navigation needed. 8 topics with client-side routing.
- Run History: Past runs persist across restarts — the Results tab scans
reports/on load to restore history.
1. Collection View
The first screen is the Collection View. Here you can:
- Load a Postman Collection and optional Environment file (drag-and-drop or auto-detected).
- Browse the request tree — folders expand/collapse; click a request to see its URL, headers, body, and auth.
- Check/uncheck individual requests or whole folders to run only a subset. A counter shows "N of M selected".
- Attach a CSV data file for data-driven testing. The panel shows matched and unmatched placeholders.
- Override collection variables inline via the variable table.
- Click Continue to proceed to the Runner.
2. Test Runner View
The Runner View is the control panel for your test. You can:
- Select from 10 test patterns (Burst, Load, Stress, Spike, Soak, Ramp, Breakpoint, Custom, Rate Limit — Sequential is a separate CLI subcommand).
- Tune parameters for the selected pattern — concurrency, RPS, duration, stages, etc.
- Watch a traffic-shape mini-chart update live as you adjust parameters.
- Configure assertions and save/load config files.
- Toggle Save response bodies to capture the first 10 KB of each response into
responses.json. - Toggle Beginner mode for plain-English phase descriptions and KPI hints.
- Click Start Test. The view transitions to a live dashboard.
Live Dashboard
While a test is running, the Runner view shows:
- 6 KPI cards: Total, Success, Avg Latency, Current RPS, Elapsed, Errors — each with a
?tooltip and optional beginner hint. - Real-time RPS chart and latency chart (Chart.js, updated every ~0.5 s via WebSocket).
- Phase label and a human-readable phase description below the progress bar.
- A scrolling request log showing the 100 most recent requests with status badges.
- Stop button — signals the pattern to finish cleanly within 10 seconds. A partial HTML report is always generated.
- After completion or stop: button changes to View Results. A PASS/FAIL verdict banner appears if assertions were configured.
3. Results View
The Results View shows a table of all runs — including previous runs restored from disk on startup. For each complete or stopped run:
- Run ID, test type, status, verdict (PASS/FAIL badge), total/ok/error counts, avg RPS.
- HTML Report — opens the full report in a new tab.
- Responses — appears when response bodies were saved; downloads
responses.json. - Details — expands an inline panel showing the full stats JSON and per-assertion verdict breakdown.
4. Docs Tab
The built-in Docs tab provides offline-accessible documentation covering all 10 test patterns, assertion metrics, CSV data testing, authentication, CI/CD integration, and more — all rendered client-side without leaving the app.