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
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![PyPI Downloads - Monthly](https://static.pepy.tech/badge/robotframework-dashboard/month)](https://pepy.tech/projects/robotframework-dashboard)
[![License](https://img.shields.io/pypi/l/robotframework-dashboard?cacheSeconds=600)](LICENSE)

Before reading anything else here is a [Fully Functioning Dashboard](https://timdegroot1996.github.io/robotframework-dashboard/example/robot_dashboard.html) you can checkout right away!
Before reading anything else here is a [Fully Functioning Dashboard](https://marketsquare.github.io/robotframework-dashboard/example/robot_dashboard.html) you can checkout right away!

## 🎯 Overview

Expand Down Expand Up @@ -47,21 +47,21 @@ pip install robotframework-dashboard[all]
…and many more advanced features to help you visualize, analyze, and manage your Robot Framework test results with ease!

## 📖 Read the Docs
For detailed usage instructions, advanced examples, and full documentation, visit the [official robotdashboard docs](https://timdegroot1996.github.io/robotframework-dashboard/)!
For detailed usage instructions, advanced examples, and full documentation, visit the [official robotdashboard docs](https://marketsquare.github.io/robotframework-dashboard/)!

### Quick Links
- 🚀 [**Getting Started**](https://timdegroot1996.github.io/robotframework-dashboard/getting-started.html) - Quick setup instructions to install Robot Framework and RobotFramework Dashboard, and verify it is working.
- 📦 [**Installation & Version Info**](https://timdegroot1996.github.io/robotframework-dashboard/installation-version-info.html) - Install the dashboard via pip, check Python and Robot Framework requirements, and view version information.
- 💻 [**Basic Command Line Interface (CLI)**](https://timdegroot1996.github.io/robotframework-dashboard/basic-command-line-interface-cli.html) - Manage your test results database, add output XML files, remove runs, and generate dashboards directly from the command line.
- ⚡ [**Advanced CLI & Examples**](https://timdegroot1996.github.io/robotframework-dashboard/advanced-cli-examples.html) - Advanced usage examples including combined commands, tagging strategies, aliases, batch imports, message configuration, and performance tips.
- 🗂️ [**Tabs / Pages**](https://timdegroot1996.github.io/robotframework-dashboard/tabs-pages.html) - Explore the dashboard's interactive pages including Overview, Dashboard, Compare, and detailed suite/test/keyword views.
- 📊 [**Graphs & Tables**](https://timdegroot1996.github.io/robotframework-dashboard/graphs-tables.html) - View and filter detailed statistics for runs, suites, tests, and keywords using charts, tables, and summary visualizations.
- 🔍 [**Filtering**](https://timdegroot1996.github.io/robotframework-dashboard/filtering.html) - Apply filters to analyze trends in your test data and highlight specific tags, amounts or datetime ranges.
- 🎨 [**Customization**](https://timdegroot1996.github.io/robotframework-dashboard/customization.html) - Customize dashboard sections, graph layouts, and visualizations to suit your workflow.
- ⚙️ [**Settings**](https://timdegroot1996.github.io/robotframework-dashboard/settings.html) - Configure dashboard preferences including themes, default views, graph options, and save your settings for consistent team-wide use.
- 🖥️ [**Dashboard Server**](https://timdegroot1996.github.io/robotframework-dashboard/dashboard-server.html) - Host the dashboard for multi-user access, programmatic updates, and remote server integration.
- 🗄️ [**Custom Database Class**](https://timdegroot1996.github.io/robotframework-dashboard/custom-database-class.html) - Extend or replace the default database backend to suit your storage needs, including SQLite, MySQL, or custom implementations.
- 🔔 [**Listener Integration**](https://timdegroot1996.github.io/robotframework-dashboard/listener-integration.html) - Use a listener to automatically push test results to the dashboard for every executed run, integrating seamlessly into CI/CD pipelines.
- 🚀 [**Getting Started**](https://marketsquare.github.io/robotframework-dashboard/getting-started.html) - Quick setup instructions to install Robot Framework and RobotFramework Dashboard, and verify it is working.
- 📦 [**Installation & Version Info**](https://marketsquare.github.io/robotframework-dashboard/installation-version-info.html) - Install the dashboard via pip, check Python and Robot Framework requirements, and view version information.
- 💻 [**Basic Command Line Interface (CLI)**](https://marketsquare.github.io/robotframework-dashboard/basic-command-line-interface-cli.html) - Manage your test results database, add output XML files, remove runs, and generate dashboards directly from the command line.
- ⚡ [**Advanced CLI & Examples**](https://marketsquare.github.io/robotframework-dashboard/advanced-cli-examples.html) - Advanced usage examples including combined commands, tagging strategies, aliases, batch imports, message configuration, and performance tips.
- 🗂️ [**Tabs / Pages**](https://marketsquare.github.io/robotframework-dashboard/tabs-pages.html) - Explore the dashboard's interactive pages including Overview, Dashboard, Compare, and detailed suite/test/keyword views.
- 📊 [**Graphs & Tables**](https://marketsquare.github.io/robotframework-dashboard/graphs-tables.html) - View and filter detailed statistics for runs, suites, tests, and keywords using charts, tables, and summary visualizations.
- 🔍 [**Filtering**](https://marketsquare.github.io/robotframework-dashboard/filtering.html) - Apply filters to analyze trends in your test data and highlight specific tags, amounts or datetime ranges.
- 🎨 [**Customization**](https://marketsquare.github.io/robotframework-dashboard/customization.html) - Customize dashboard sections, graph layouts, and visualizations to suit your workflow.
- ⚙️ [**Settings**](https://marketsquare.github.io/robotframework-dashboard/settings.html) - Configure dashboard preferences including themes, default views, graph options, and save your settings for consistent team-wide use.
- 🖥️ [**Dashboard Server**](https://marketsquare.github.io/robotframework-dashboard/dashboard-server.html) - Host the dashboard for multi-user access, programmatic updates, and remote server integration.
- 🗄️ [**Custom Database Class**](https://marketsquare.github.io/robotframework-dashboard/custom-database-class.html) - Extend or replace the default database backend to suit your storage needs, including SQLite, MySQL, or custom implementations.
- 🔔 [**Listener Integration**](https://marketsquare.github.io/robotframework-dashboard/listener-integration.html) - Use a listener to automatically push test results to the dashboard for every executed run, integrating seamlessly into CI/CD pipelines.


## 🛠️ Contributions
Expand All @@ -73,7 +73,7 @@ Special thanks to the following companies for sponsoring in one form or another!
- [TDT](https://tdt.de/)

And many thanks to the following people for contributing to the project with feedback, features or just general guidance!
- [Mark Moberts](https://github.com/MobyNL) maintainer of the [robotframework-mitmlibrary](https://github.com/MobyNL/robotframework-mitmlibrary) and [Awesome Robot Framework](https://github.com/MarketSquare/awesome-robotframework)
- [Mark Moberts](https://github.com/MobyNL) maintainer of the [robotframework-mitmlibrary](https://github.com/MobyNL/robotframework-mitmlibrary) and [Awesome Robot Framework](https://github.com/marketsquare/awesome-robotframework)
- [Jurgen Alebregtse](https://github.com/alebr001) maintainer of [robotframework-realtimeresults](https://github.com/alebr001/robotframework-realtimeresults)
- [Elias Haberl](https://github.com/HuntTheSun)
- [Pekka Klarck](https://github.com/pekkaklarck) maintainer of [Robot Framework](https://github.com/robotframework/robotframework)
Expand Down
2 changes: 1 addition & 1 deletion atest/resources/cli_output/help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,4 @@ options:
• '--server 0.0.0.0:8080' -> custom host/port
• '--server 0.0.0.0:8080:admin:secret' -> custom host/port and admin username/password

For full documentation, visit: https://timdegroot1996.github.io/robotframework-dashboard/
For full documentation, visit: https://marketsquare.github.io/robotframework-dashboard/
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.6.1
Robotdashboard 1.6.2
8 changes: 4 additions & 4 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ export default defineConfig({
["title", {}, "RobotFramework Dashboard | Visualize and Analyze Test Results"],
["meta", { name: "description", content: "Interactive dashboard to visualize, analyze, and customize Robot Framework test results with charts, and tables" }],
["meta", { name: "keywords", content: "dashboard, analysis, robot-framework, html-report, robotframework, robotframework-dashboard" }],
["link", { rel: "canonical", href: "https://timdegroot1996.github.io/robotframework-dashboard/" }],
["link", { rel: "canonical", href: "https://marketsquare.github.io/robotframework-dashboard/" }],

// Open Graph
["meta", { property: "og:type", content: "website" }],
["meta", { property: "og:locale", content: "en" }],
["meta", { property: "og:title", content: "RobotFramework Dashboard | Visualize Robot Framework Results" }],
["meta", { property: "og:site_name", content: "RobotFramework Dashboard" }],
["meta", { property: "og:image", content: "/robotframework-dashboard/robotframework.svg" }],
["meta", { property: "og:url", content: "https://timdegroot1996.github.io/robotframework-dashboard/" }],
["meta", { property: "og:url", content: "https://marketsquare.github.io/robotframework-dashboard/" }],

// Twitter Card
["meta", { name: "twitter:card", content: "summary_large_image" }],
Expand All @@ -38,7 +38,7 @@ export default defineConfig({
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "RobotFramework Dashboard",
"url": "https://timdegroot1996.github.io/robotframework-dashboard/",
"url": "https://marketsquare.github.io/robotframework-dashboard/",
"description": "Interactive dashboard to visualize and analyze Robot Framework test results.",
"applicationCategory": "DeveloperTool",
"operatingSystem": "Web"
Expand Down Expand Up @@ -91,7 +91,7 @@ export default defineConfig({
{ text: '🤝 Contributions', link: '/contributions.md' }
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/timdegroot1996/robotframework-dashboard', ariaLabel: 'GitHub Repository' },
{ icon: 'github', link: 'https://github.com/marketsquare/robotframework-dashboard', ariaLabel: 'GitHub Repository' },
{ icon: { svg: python_svg }, link: 'https://pypi.org/project/robotframework-dashboard/', ariaLabel: 'Python Package on PyPI' },
{ icon: { svg: slack_svg }, link: 'https://robotframework.slack.com/', ariaLabel: 'Robot Framework Slack' },
]
Expand Down
2 changes: 1 addition & 1 deletion docs/contributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Special thanks to the following companies for sponsoring in one form or another!

## People
And many thanks to the following people for contributing to the project with feedback, features or just general guidance!
- [Mark Moberts](https://github.com/MobyNL) maintainer of the [robotframework-mitmlibrary](https://github.com/MobyNL/robotframework-mitmlibrary) and [Awesome Robot Framework](https://github.com/MarketSquare/awesome-robotframework)
- [Mark Moberts](https://github.com/MobyNL) maintainer of the [robotframework-mitmlibrary](https://github.com/MobyNL/robotframework-mitmlibrary) and [Awesome Robot Framework](https://github.com/marketsquare/awesome-robotframework)
- [Jurgen Alebregtse](https://github.com/alebr001) maintainer of [robotframework-realtimeresults](https://github.com/alebr001/robotframework-realtimeresults)
- [Elias Haberl](https://github.com/HuntTheSun)
- [Pekka Klarck](https://github.com/pekkaklarck) maintainer of [Robot Framework](https://github.com/robotframework/robotframework)
Expand Down
12 changes: 6 additions & 6 deletions docs/custom-database-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ The project includes several reference implementations. These demonstrate how to

**Available examples:**

- [abstractdb.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/abstractdb.py): base abstract class to extend
- [sqlite3.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/sqlite3.py): default implementation used by RobotDashboard
- [mysql.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/mysql.py): example MySQL implementation
- [abstractdb.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/abstractdb.py): base abstract class to extend
- [sqlite3.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/sqlite3.py): default implementation used by RobotDashboard
- [mysql.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/mysql.py): example MySQL implementation

These files define the required structure and show how each method should behave. If you create your own custom database implementation, you are encouraged to submit it via pull request or github issue so it can be added to the example folder to help others.

Expand Down Expand Up @@ -207,6 +207,6 @@ If you do not use server-side log storage, you can safely omit this method.
- Your Python file name can be anything.

- Look at the examples before implementing your own:
- [abstractdb.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/abstractdb.py): base abstract class to extend
- [sqlite3.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/sqlite3.py): default implementation used by RobotDashboard
- [mysql.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/database/mysql.py): example MySQL implementation
- [abstractdb.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/abstractdb.py): base abstract class to extend
- [sqlite3.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/sqlite3.py): default implementation used by RobotDashboard
- [mysql.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/database/mysql.py): example MySQL implementation
8 changes: 4 additions & 4 deletions docs/dashboard-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ RobotFramework Dashboard includes a built-in server that lets you host the dashb
- 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`](https://timdegroot1996.github.io/robotframework-dashboard/advanced-cli-examples) for full offline usage!
- The server automatically uses offline CDN (js/css) because `FastAPI-offline` is used, making it compatible with [`--offlinedependencies`](https://marketsquare.github.io/robotframework-dashboard/advanced-cli-examples) for full offline usage!
> **Tip:** To implement your server into your test runs look at the example [listener](/listener-integration.md) integration!


Expand Down Expand Up @@ -91,9 +91,9 @@ The dashboard itself (the HTML) does **not** require authentication. API calls a

You can interact with the server programmatically using HTTP, Python, or Robot Framework. There are example scripts in the `example/server` folder:

- [interact.http](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/server/interact.http)
- [interact.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/server/interact.py)
- [interact.robot](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/server/interact.robot)
- [interact.http](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/server/interact.http)
- [interact.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/server/interact.py)
- [interact.robot](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/server/interact.robot)

These scripts demonstrate how to:

Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ hero:
link: https://pypi.org/project/robotframework-dashboard/
- theme: alt
text: ⭐ Star on GitHub
link: https://github.com/timdegroot1996/robotframework-dashboard
link: https://github.com/marketsquare/robotframework-dashboard
- theme: alt
text: Contributions
link: /contributions.md
Expand Down
4 changes: 2 additions & 2 deletions docs/listener-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Its responsibilities include:
- The script is pabot compatible
- Enforcing an optional database run limit (e.g., keep only latest 100 runs)

The listener script can be found here: [robotdashboardlistener.py](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/listener/robotdashboardlistener.py)
The listener script can be found here: [robotdashboardlistener.py](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/listener/robotdashboardlistener.py)

> Important: the name of the file and the class should match. In the example it is both **robotdashboardlistener**, but changing it is fine if both are equal.

Expand Down Expand Up @@ -109,7 +109,7 @@ The listener will wait for the final merged output and then send it to the Dashb

## Using the Listener with RobotCode (robot.toml)

RobotDashboard also supports a listener in the `robot.toml` of **RobotCode**. The example can be found here: [robot.toml](https://github.com/timdegroot1996/robotframework-dashboard/blob/main/example/listener/robot.toml)
RobotDashboard also supports a listener in the `robot.toml` of **RobotCode**. The example can be found here: [robot.toml](https://github.com/marketsquare/robotframework-dashboard/blob/main/example/listener/robot.toml)
Place both `robot.toml` and `robotdashboardlistener.py` in your project root (or adjust paths accordingly).

### Basic usage steps
Expand Down
2 changes: 1 addition & 1 deletion docs/tabs-pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ There are also 2 special sections on the Overview page: The "Latest Runs" and "T
The Overview Statistics section shows the latest run for each project, the sections below it show all runs for each project.
You can toggle if you want to show or hide runs for projects or custom project tags.
See [Advanced CLI & Examples](advanced-cli-examples.md#project-tagging) for more information on Tags!
For a more in depth explanation, hover over the "i" icons in the Overview Statistics and the sections below it in the [Example Dashboard](https://timdegroot1996.github.io/robotframework-dashboard/example/robot_dashboard.html)
For a more in depth explanation, hover over the "i" icons in the Overview Statistics and the sections below it in the [Example Dashboard](https://marketsquare.github.io/robotframework-dashboard/example/robot_dashboard.html)

## Dashboard Page
The Dashboard page offers rich, interactive visualizations for a detailed analysis of test results. Graphs are available at four levels—runs, suites, tests, and keywords—allowing teams to track performance, detect flaky tests, and monitor trends over time. The layout is fully customizable (see [Customization](customization.md)). You can drag and drop graphs and sections to create your preferred view. Most graphs support multiple display modes, including timeline, percentage, bar, donut, and advanced types like boxplots and heatmaps. Each graph also provides detailed popups to explain what the view represents and how the data is calculated (see [Graphs & Tables](graphs-tables.md)).
Expand Down
Loading