Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Robot Framework Dashboard is a tool for [Robot Framework](https://robotframework
![Example Dashboard Screenshot](./img/dashboard.png)

## 🚀 Getting Started

### Installation
Install Robot Framework 6.0 or higher (if not already installed):
```bash
pip install robotframework
Expand All @@ -24,9 +26,26 @@ pip install robotframework-dashboard
Install Robot Framework Dashboard with Server:
```bash
pip install robotframework-dashboard[server]
# or use
pip install robotframework-dashboard[all]
```

### Basic Usage

**Example 1 — Add a single output file and generate a dashboard:**
```bash
robotdashboard -o output.xml
```
This adds `output.xml` to the default database (`robot_results.db`) and generates a self-contained HTML dashboard file you can open directly in any browser.

**Example 2 — Add multiple output files with a custom database and dashboard name:**
```bash
robotdashboard -o output1.xml -o output2.xml -d my_results.db -n my_dashboard.html
```
This processes two output XML files, stores results in `my_results.db`, and writes the dashboard to `my_dashboard.html`.

For all available CLI options see the [Basic CLI docs](https://marketsquare.github.io/robotframework-dashboard/basic-command-line-interface-cli.html) and [Advanced CLI & Examples](https://marketsquare.github.io/robotframework-dashboard/advanced-cli-examples.html).

## 🔍 Key Features

- 🏃 **Multi-run Analysis** - Compare and track results across multiple Robot Framework test runs.
Expand Down
15 changes: 13 additions & 2 deletions atest/resources/cli_output/help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
======================================================================================
usage: robotdashboard [[]-v[]] [[]-h[]] [[]-o [[]OUTPUTPATH ...[]][]]
[[]-f [[]OUTPUTFOLDERPATH ...[]][]]
[[]--projectversion PROJECT_VERSION[]] [[]-r [[]REMOVERUNS ...[]][]]
[[]-d DATABASEPATH[]] [[]-n NAMEDASHBOARD[]] [[]-j JSONCONFIG[]]
[[]--projectversion PROJECT_VERSION[]] [[]-z TIMEZONE[]]
[[]-r [[]REMOVERUNS ...[]][]] [[]-d DATABASEPATH[]]
[[]-n NAMEDASHBOARD[]] [[]-j JSONCONFIG[]]
[[]--forcejsonconfig [[]FORCEJSONCONFIG[]][]]
[[]-t DASHBOARDTITLE[]] [[]-m MESSAGECONFIG[]] [[]-q QUANTITY[]]
[[]-u [[]USELOGS[]][]] [[]-g [[]GENERATEDASHBOARD[]][]] [[]-l [[]LISTRUNS[]][]]
Expand Down Expand Up @@ -45,6 +46,16 @@ options:
• Cannot be mixed with version_ tags
Examples:
. '--projectversion=1.1'
-z TIMEZONE, --timezone TIMEZONE
`string` Specifies the timezone offset of the output.xml timestamps.
Usage behavior:
• Default value: auto-detected from the machine's local timezone
• Provide a UTC offset string like '+02:00' or '-05:00'
• Used to store timezone info with run_start for timezone conversion in the dashboard
Examples:
• '-z +02:00' -> timestamps are from UTC+2
• '--timezone=-05:00' -> timestamps are from UTC-5 (use --timezone= for negative offsets)
• '-z +00:00' -> timestamps are UTC
-r [[]REMOVERUNS ...[]], --removeruns [[]REMOVERUNS ...[]]
`string` Specifies indexes, run_starts, aliases, tags or limit to remove from the database.
Usage behavior:
Expand Down
30 changes: 15 additions & 15 deletions atest/resources/cli_output/outputfolderpath.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,21 @@
Processed output XML 'output-20250313-003006.xml' in * seconds
======================================================================================
3. Listing all available runs in the database
Run 0 | 2025-03-13 00:21:34.707148 | Tests
Run 1 | 2025-03-13 00:21:51.185366 | Tests
Run 2 | 2025-03-13 00:22:22.304104 | Testsuites
Run 3 | 2025-03-13 00:22:57.472888 | Tests
Run 4 | 2025-03-13 00:23:38.413294 | Other
Run 5 | 2025-03-13 00:24:00.827779 | Tests
Run 6 | 2025-03-13 00:24:31.912429 | Testsuites
Run 7 | 2025-03-13 00:24:57.422440 | Tests
Run 8 | 2025-03-13 00:25:28.306253 | Tests
Run 9 | 2025-03-13 00:25:49.609465 | Tests
Run 10 | 2025-03-13 00:26:36.304669 | Other
Run 11 | 2025-03-13 00:27:03.713995 | Testsuites
Run 12 | 2025-03-13 00:27:39.871333 | Tests
Run 13 | 2025-03-13 00:29:15.926420 | Tests
Run 14 | 2025-03-13 00:30:06.726165 | Tests
Run 0 | 2025-03-13 00:21:34.707148+00:00 | Tests
Run 1 | 2025-03-13 00:21:51.185366+00:00 | Tests
Run 2 | 2025-03-13 00:22:22.304104+00:00 | Testsuites
Run 3 | 2025-03-13 00:22:57.472888+00:00 | Tests
Run 4 | 2025-03-13 00:23:38.413294+00:00 | Other
Run 5 | 2025-03-13 00:24:00.827779+00:00 | Tests
Run 6 | 2025-03-13 00:24:31.912429+00:00 | Testsuites
Run 7 | 2025-03-13 00:24:57.422440+00:00 | Tests
Run 8 | 2025-03-13 00:25:28.306253+00:00 | Tests
Run 9 | 2025-03-13 00:25:49.609465+00:00 | Tests
Run 10 | 2025-03-13 00:26:36.304669+00:00 | Other
Run 11 | 2025-03-13 00:27:03.713995+00:00 | Testsuites
Run 12 | 2025-03-13 00:27:39.871333+00:00 | Tests
Run 13 | 2025-03-13 00:29:15.926420+00:00 | Tests
Run 14 | 2025-03-13 00:30:06.726165+00:00 | Tests
======================================================================================
4. Removing runs from the database
skipping step
Expand Down
2 changes: 1 addition & 1 deletion atest/resources/cli_output/outputpath.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Processed output XML 'output-20250313-002222.xml' in * seconds
======================================================================================
3. Listing all available runs in the database
Run 0 | 2025-03-13 00:22:22.304104 | Testsuites
Run 0 | 2025-03-13 00:22:22.304104+00:00 | Testsuites
======================================================================================
4. Removing runs from the database
skipping step
Expand Down
44 changes: 22 additions & 22 deletions atest/resources/cli_output/removerun.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@
skipping step
======================================================================================
3. Listing all available runs in the database
Run 0 | 2025-03-13 00:21:34.707148 | Tests
Run 1 | 2025-03-13 00:21:51.185366 | Tests
Run 2 | 2025-03-13 00:22:22.304104 | Testsuites
Run 3 | 2025-03-13 00:22:57.472888 | Tests
Run 4 | 2025-03-13 00:23:38.413294 | Other
Run 5 | 2025-03-13 00:24:00.827779 | Tests
Run 6 | 2025-03-13 00:24:31.912429 | Testsuites
Run 7 | 2025-03-13 00:24:57.422440 | Tests
Run 8 | 2025-03-13 00:25:28.306253 | Tests
Run 9 | 2025-03-13 00:25:49.609465 | Tests
Run 10 | 2025-03-13 00:26:36.304669 | Other
Run 11 | 2025-03-13 00:27:03.713995 | Testsuites
Run 12 | 2025-03-13 00:27:39.871333 | Tests
Run 13 | 2025-03-13 00:29:15.926420 | Tests
Run 14 | 2025-03-13 00:30:06.726165 | Tests
Run 0 | 2025-03-13 00:21:34.707148+00:00 | Tests
Run 1 | 2025-03-13 00:21:51.185366+00:00 | Tests
Run 2 | 2025-03-13 00:22:22.304104+00:00 | Testsuites
Run 3 | 2025-03-13 00:22:57.472888+00:00 | Tests
Run 4 | 2025-03-13 00:23:38.413294+00:00 | Other
Run 5 | 2025-03-13 00:24:00.827779+00:00 | Tests
Run 6 | 2025-03-13 00:24:31.912429+00:00 | Testsuites
Run 7 | 2025-03-13 00:24:57.422440+00:00 | Tests
Run 8 | 2025-03-13 00:25:28.306253+00:00 | Tests
Run 9 | 2025-03-13 00:25:49.609465+00:00 | Tests
Run 10 | 2025-03-13 00:26:36.304669+00:00 | Other
Run 11 | 2025-03-13 00:27:03.713995+00:00 | Testsuites
Run 12 | 2025-03-13 00:27:39.871333+00:00 | Tests
Run 13 | 2025-03-13 00:29:15.926420+00:00 | Tests
Run 14 | 2025-03-13 00:30:06.726165+00:00 | Tests
======================================================================================
4. Removing runs from the database
Removed run from the database: index=0, run_start=2025-03-13 00:21:34.707148
Removed run from the database: index=1, run_start=2025-03-13 00:21:51.185366
Removed run from the database: index=2, run_start=2025-03-13 00:22:22.304104
Removed run from the database: index=3, run_start=2025-03-13 00:22:57.472888
Removed run from the database: index=-1, run_start=2025-03-13 00:30:06.726165
Removed run from the database: index=6, run_start=2025-03-13 00:24:31.912429
Removed run from the database: run_start=2025-03-13 00:27:39.871333
Removed run from the database: index=0, run_start=2025-03-13 00:21:34.707148+00:00
Removed run from the database: index=1, run_start=2025-03-13 00:21:51.185366+00:00
Removed run from the database: index=2, run_start=2025-03-13 00:22:22.304104+00:00
Removed run from the database: index=3, run_start=2025-03-13 00:22:57.472888+00:00
Removed run from the database: index=-1, run_start=2025-03-13 00:30:06.726165+00:00
Removed run from the database: index=6, run_start=2025-03-13 00:24:31.912429+00:00
ERROR: Could not find run to remove from the database: run_start=2025-03-13 00:27:39.871333
ERROR: Could not find run to remove from the database: alias=abc, check out robotdashboard --help for instructions
WARNING: no runs were removed as no runs were found with tag: tag1
Vacuumed the database in 0.0 seconds
Expand Down
2 changes: 1 addition & 1 deletion atest/resources/cli_output/version.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
|_| \_\\___/|____/ \___/ |_| |____/_/ \_|____/|_| |_|____/ \___/_/ \_|_| \_|____/

======================================================================================
Robotdashboard 1.7.0
Robotdashboard 1.8.0
2 changes: 1 addition & 1 deletion atest/resources/database_output/keywords.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion atest/resources/database_output/runs.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[['2025-03-13 00:21:34.707148', 'Tests', 'Tests', 114, 107, 7, 0, '14.429', '2025-03-13 00:21:34.708148', 'dev,prod,project_1', 'output-20250313-002134', 'output-20250313-002134.xml', '[]', None], ['2025-03-13 00:21:51.185366', 'Tests', 'Tests', 114, 102, 10, 2, '21.152', '2025-03-13 00:21:51.186367', 'dev,prod,project_1', 'output-20250313-002151', 'output-20250313-002151.xml', '[]', None], ['2025-03-13 00:22:22.304104', 'Testsuites', 'Testsuites', 114, 107, 7, 0, '26.243', '2025-03-13 00:22:22.305102', 'dev,prod,project_1', 'output-20250313-002222', 'output-20250313-002222.xml', '[]', None], ['2025-03-13 00:22:57.472888', 'Tests', 'Tests', 114, 102, 11, 1, '20.052', '2025-03-13 00:22:57.474475', 'dev,prod,project_1', 'output-20250313-002257', 'output-20250313-002257.xml', '[]', None], ['2025-03-13 00:23:38.413294', 'Other', 'Other', 114, 100, 10, 4, '14.333', '2025-03-13 00:23:38.414516', 'dev,prod,project_1', 'output-20250313-002338', 'output-20250313-002338.xml', '[]', None], ['2025-03-13 00:24:00.827779', 'Tests', 'Tests', 114, 104, 10, 0, '19.753', '2025-03-13 00:24:00.828780', 'dev,prod,project_1', 'output-20250313-002400', 'output-20250313-002400.xml', '[]', None], ['2025-03-13 00:24:31.912429', 'Testsuites', 'Testsuites', 114, 104, 9, 1, '13.148', '2025-03-13 00:24:31.913455', 'dev,prod,project_1', 'output-20250313-002431', 'output-20250313-002431.xml', '[]', None], ['2025-03-13 00:24:57.422440', 'Tests', 'Tests', 114, 104, 9, 1, '28.665', '2025-03-13 00:24:57.424073', 'dev,prod,project_1', 'output-20250313-002457', 'output-20250313-002457.xml', '[]', None], ['2025-03-13 00:25:28.306253', 'Tests', 'Tests', 114, 112, 0, 2, '17.016', '2025-03-13 00:25:28.307311', 'dev,prod,project_1', 'output-20250313-002528', 'output-20250313-002528.xml', '[]', None], ['2025-03-13 00:25:49.609465', 'Tests', 'Tests', 114, 114, 0, 0, '28.637', '2025-03-13 00:25:49.611031', 'dev,prod,project_1', 'output-20250313-002549', 'output-20250313-002549.xml', '[]', None], ['2025-03-13 00:26:36.304669', 'Other', 'Other', 114, 104, 10, 0, '14.655', '2025-03-13 00:26:36.305700', 'dev,prod,project_1', 'output-20250313-002636', 'output-20250313-002636.xml', '[]', None], ['2025-03-13 00:27:03.713995', 'Testsuites', 'Testsuites', 114, 106, 8, 0, '30.136', '2025-03-13 00:27:03.716163', 'dev,prod,project_1', 'output-20250313-002703', 'output-20250313-002703.xml', '[]', None], ['2025-03-13 00:27:39.871333', 'Tests', 'Tests', 114, 102, 12, 0, '23.442', '2025-03-13 00:27:39.873333', 'dev,prod,project_1', 'output-20250313-002739', 'output-20250313-002739.xml', '[]', None], ['2025-03-13 00:29:15.926420', 'Tests', 'Tests', 114, 77, 37, 0, '15.463', '2025-03-13 00:29:15.928002', 'dev,prod,project_1', 'output-20250313-002915', 'output-20250313-002915.xml', '[]', None], ['2025-03-13 00:30:06.726165', 'Tests', 'Tests', 114, 106, 8, 0, '17.723', '2025-03-13 00:30:06.727746', 'dev,prod,project_1', 'output-20250313-003006', 'output-20250313-003006.xml', '[]', None]]
[['2025-03-13 00:21:34.707148+00:00', 'Tests', 'Tests', 114, 107, 7, 0, '14.429', '2025-03-13 00:21:34.708148', 'dev,prod,project_1', 'output-20250313-002134', 'output-20250313-002134.xml', '[]', None], ['2025-03-13 00:21:51.185366+00:00', 'Tests', 'Tests', 114, 102, 10, 2, '21.152', '2025-03-13 00:21:51.186367', 'dev,prod,project_1', 'output-20250313-002151', 'output-20250313-002151.xml', '[]', None], ['2025-03-13 00:22:22.304104+00:00', 'Testsuites', 'Testsuites', 114, 107, 7, 0, '26.243', '2025-03-13 00:22:22.305102', 'dev,prod,project_1', 'output-20250313-002222', 'output-20250313-002222.xml', '[]', None], ['2025-03-13 00:22:57.472888+00:00', 'Tests', 'Tests', 114, 102, 11, 1, '20.052', '2025-03-13 00:22:57.474475', 'dev,prod,project_1', 'output-20250313-002257', 'output-20250313-002257.xml', '[]', None], ['2025-03-13 00:23:38.413294+00:00', 'Other', 'Other', 114, 100, 10, 4, '14.333', '2025-03-13 00:23:38.414516', 'dev,prod,project_1', 'output-20250313-002338', 'output-20250313-002338.xml', '[]', None], ['2025-03-13 00:24:00.827779+00:00', 'Tests', 'Tests', 114, 104, 10, 0, '19.753', '2025-03-13 00:24:00.828780', 'dev,prod,project_1', 'output-20250313-002400', 'output-20250313-002400.xml', '[]', None], ['2025-03-13 00:24:31.912429+00:00', 'Testsuites', 'Testsuites', 114, 104, 9, 1, '13.148', '2025-03-13 00:24:31.913455', 'dev,prod,project_1', 'output-20250313-002431', 'output-20250313-002431.xml', '[]', None], ['2025-03-13 00:24:57.422440+00:00', 'Tests', 'Tests', 114, 104, 9, 1, '28.665', '2025-03-13 00:24:57.424073', 'dev,prod,project_1', 'output-20250313-002457', 'output-20250313-002457.xml', '[]', None], ['2025-03-13 00:25:28.306253+00:00', 'Tests', 'Tests', 114, 112, 0, 2, '17.016', '2025-03-13 00:25:28.307311', 'dev,prod,project_1', 'output-20250313-002528', 'output-20250313-002528.xml', '[]', None], ['2025-03-13 00:25:49.609465+00:00', 'Tests', 'Tests', 114, 114, 0, 0, '28.637', '2025-03-13 00:25:49.611031', 'dev,prod,project_1', 'output-20250313-002549', 'output-20250313-002549.xml', '[]', None], ['2025-03-13 00:26:36.304669+00:00', 'Other', 'Other', 114, 104, 10, 0, '14.655', '2025-03-13 00:26:36.305700', 'dev,prod,project_1', 'output-20250313-002636', 'output-20250313-002636.xml', '[]', None], ['2025-03-13 00:27:03.713995+00:00', 'Testsuites', 'Testsuites', 114, 106, 8, 0, '30.136', '2025-03-13 00:27:03.716163', 'dev,prod,project_1', 'output-20250313-002703', 'output-20250313-002703.xml', '[]', None], ['2025-03-13 00:27:39.871333+00:00', 'Tests', 'Tests', 114, 102, 12, 0, '23.442', '2025-03-13 00:27:39.873333', 'dev,prod,project_1', 'output-20250313-002739', 'output-20250313-002739.xml', '[]', None], ['2025-03-13 00:29:15.926420+00:00', 'Tests', 'Tests', 114, 77, 37, 0, '15.463', '2025-03-13 00:29:15.928002', 'dev,prod,project_1', 'output-20250313-002915', 'output-20250313-002915.xml', '[]', None], ['2025-03-13 00:30:06.726165+00:00', 'Tests', 'Tests', 114, 106, 8, 0, '17.723', '2025-03-13 00:30:06.727746', 'dev,prod,project_1', 'output-20250313-003006', 'output-20250313-003006.xml', '[]', None]]
Loading