Skip to content

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-offline is used, making it compatible with --offlinedependencies for 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

bash
robotdashboard --s  
robotdashboard --server  
robotdashboard --server default

Bind to a specific host / port

bash
robotdashboard -s 127.0.0.1:8543

Enable authentication for the admin page

bash
robotdashboard -s default:user:password

Or with a custom host and port plus authentication:

bash
robotdashboard -s host:port:user:password

Once 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 Docs is available to open the swagger openapi documentation
    • On the admin page a menu option Redoc API Docs is available to open the redoc openapi documentation
    • On the admin page a menu option Dashboard is available to open the dashboard
  • The dashboard HTML , this page lives on the root url: http://127.0.0.1:8543/
    • On the dashboard page a menu option Admin is available to open the admin page
  • 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:

EndpointPurpose
/Serves the HTML dashboard (reflects current database), not callable through scripts
/adminAdmin page for manual management of runs and logs, not callable through scripts
/get-outputsReturns a JSON list of stored runs (run_start, alias, tags), callable
/add-outputsAccepts new output data via JSON (file path, raw XML or folder), callable
/add-output-fileAccepts new output data via file input, callable
/remove-outputsDeletes runs by index, alias, run_start, tags, limit or 'all=true' for all outputs, callable
/get-logsReturns a JSON list of stored logs on the server (log_name), callable
/add-logUpload HTML a log file and associate them with runs (for uselogs), callable
/add-log-fileUpload a HTML log file (for uselogs), callable
/remove-logRemove 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.xml by 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.