Dashboard Server ​
RobotFramework Dashboard includes a built-in server that lets you host the dashboard on a separate machine. This allows you to centrally serve the HTML dashboard, and remotely add, list, or remove test result outputs from other clients. The server is built using FastAPI, FastAPI-offline and Uvicorn, and comes with a set of Pydantic models to validate request payloads.
Tip: The server is not installed by default see Installation & Version Info for more info!
Why Use the Dashboard Server ​
- Host a centralized, always-available dashboard accessible via HTTP
- Enable remote clients to push or delete runs in your database
- Provide a web-based admin interface for manual management
- Secure access via optional basic authentication (username/password)
- The server automatically uses offline CDN (js/css) because
FastAPI-offlineis used, making it compatible with--offlinedependenciesfor full offline usage!
Tip: To implement your server into your test runs look at the example listener integration!
Starting the Server ​
You can start the server using the robotdashboard CLI with the --server (or -s) option:
Basic usage
robotdashboard --s
robotdashboard --server
robotdashboard --server defaultBind to a specific host / port
robotdashboard -s 127.0.0.1:8543Enable authentication for the admin page
robotdashboard -s default:user:passwordOr with a custom host and port plus authentication:
robotdashboard -s host:port:user:passwordOnce the server is running, open your browser at the configured address (for example, http://127.0.0.1:8543/) to access:
- The admin page (for manual control), this page lives on
/admin:http://127.0.0.1:8543/admin- On the admin page a menu option
Swagger API Docsis available to open the swagger openapi documentation - On the admin page a menu option
Redoc API Docsis available to open the redoc openapi documentation - On the admin page a menu option
Dashboardis available to open the dashboard
- On the admin page a menu option
- The dashboard HTML , this page lives on the root url:
http://127.0.0.1:8543/- On the dashboard page a menu option
Adminis available to open the admin page
- On the dashboard page a menu option
- The Swagger API documentation, this page lives on
/docs:http://127.0.0.1:8543/docs - The Redoc API documentation, this page lives on
/redoc:http://127.0.0.1:8543/redoc
Server Features & Endpoints ​
The built-in server exposes several HTTP endpoints to manage and serve dashboard data:
| Endpoint | Purpose |
|---|---|
/ | Serves the HTML dashboard (reflects current database), not callable through scripts |
/admin | Admin page for manual management of runs and logs, not callable through scripts |
/get-outputs | Returns a JSON list of stored runs (run_start, alias, tags), callable |
/add-outputs | Accepts new output data via JSON (file path, raw XML or folder), callable |
/add-output-file | Accepts new output data via file input, callable |
/remove-outputs | Deletes runs by index, alias, run_start, tags, limit or 'all=true' for all outputs, callable |
/get-logs | Returns a JSON list of stored logs on the server (log_name), callable |
/add-log | Upload HTML a log file and associate them with runs (for uselogs), callable |
/add-log-file | Upload a HTML log file (for uselogs), callable |
/remove-log | Remove previously uploaded log files or provide 'all=true' for all logs, callable |
All API endpoints are documented and described in the server’s own OpenAPI schema, accessible via the admin interface under “Swagger API Docs” or "Redoc API Docs", after starting the server.
Security: Basic Auth (Optional) ​
If you start the server with a username and password, the admin page will be protected. Only someone providing the correct credentials can:
- Add or remove outputs manually
- Add or remove logs manually
The dashboard itself (the HTML) does not require authentication. API calls as of now do also not require authentication.
Working Programmatically with the Server ​
You can interact with the server programmatically using HTTP, Python, or Robot Framework. There are example scripts in the example/server folder:
These scripts demonstrate how to:
- List existing outputs
- Add a new
output.xmlby path - Remove runs by index, alias, or timestamp
Tip: to implement your server into your test runs look at the example listener integration!
Important Notes ​
- This setting cannot be applied via API endpoints—it must be set through the Admin Page.
- It ensures a consistent dashboard layout and settings across multiple machines when the above conditions are met.