> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testdino.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Playwright Test Analytics in TestDino

> Build a custom analytics dashboard for a Playwright project with saved views, drag-and-drop widgets, and shared layouts.

Analytics is a customizable dashboard for a project. Add widgets to a grid, arrange them, and save the layout as a view. Each view holds its own set of widgets, so different people can track different things in the same project.

## Quick Reference

| Topic | Section |
| :- | :- |
| Views (saved dashboards) | [Views](#views) |
| Add and arrange widgets | [Build a dashboard](#build-a-dashboard) |
| Global time window and platform | [Filters](#filters) |
| Filter widgets by test-case tag | [Tag filter](#tag-filter) |
| Share a view with the project | [Share a view](#share-a-view) |
| Every widget you can add | [Widget reference](#widget-reference) |

## Views

A view is a saved dashboard: a named layout of widgets. A project can hold several views, and you switch between them from the **View** menu in the toolbar.

| View type | Who sees it | Badge |
| :- | :- | :- |
| **Default** | Everyone in the project | Default |
| **Shared** | Everyone in the project | Shared |
| **Private** | Only you | Private |

Every project starts with 1 **default** view, created automatically. The default is shared with all project members. You can create your own views, keep them private, or share them.

The **View** menu groups views into the default, your own views, and views shared by others. A view someone else shares appears in your menu labeled **Shared by** their name.

**Create a view:**

* **Create new view** starts a blank canvas.
* **Save as my view** copies the current board into a new private view.

Name the view in the dialog, then add widgets.

<Note>
  Which view you have open is remembered per browser. Switching views does not change what your teammates see.
</Note>

## Build a dashboard

Click **Edit layout** to enter edit mode, then arrange the board:

* **Add** a widget with **Add widget**, which opens a drawer of every available widget grouped by category.
* **Move** a widget by dragging its handle.
* **Resize** a widget from any corner.
* **Remove** a widget with the X in its top-right corner.

Click **Save changes** to persist the layout, or **Cancel** to discard your edits. A new widget drops into the first free space on the grid.

## Filters

2 filters apply to every widget on the dashboard. Both persist as you switch views.

| Filter | Options | Default |
| :- | :- | :- |
| Time window | Last 7, 30, or 90 days | Last 30 days |
| Platform | All platforms, or a single browser or platform | All platforms |

Trend widgets take an optional per-widget branch or environment filter, set on the widget itself, and use that instead of the global platform filter. Tag and error breakdowns also use their own scope and ignore the platform filter.

**Refresh** reloads the data for every widget. The toolbar shows how long ago the dashboard was last refreshed.

## Tag filter

Filter the ranked-list widgets by test-case tag. The **All tags** control in the toolbar sets a board-wide tag filter that applies to **Flakiest tests**, **Most-failing tests**, **Chronic failures**, **Slowest tests**, and **Degrading tests**.

* By default a test matches if it has **any** of the selected tags. Turn on **Exact** to match only tests whose tags are exactly the selected set. Exact works even with a single tag: `@ios` (any) includes a test tagged `@ios @slow`, while `@ios` (exact) matches only tests tagged `@ios` and nothing else. When the filter is set behind a closed menu, an **Exact** badge shows in the toolbar.
* Any viewer can set the tag filter for their own session. An editor's **Save changes** persists it as the view's default.
* Override the board filter on a single widget from its **Global** chip: it reads the board filter until you set the widget's own tags, then uses those instead. Reset the chip to go back to the board filter.
* A selected tag that is not in the current time window stays listed and is flagged **not in range**, so a narrower window does not silently drop a tag it is still filtering by.

Tag filtering applies to the 5 ranked-list widgets above. Trend, coverage, error clusters, health, and tag breakdown widgets are not affected.

## Share a view

Use **Share with project** to make a private view open to every project member. It then appears in their View menu as **Shared by** your name. **Unshare view** makes it private again.

| Action | Who can do it |
| :- | :- |
| Share or unshare a view | The view's creator |
| Rename a view | The view's creator |
| Delete a view | The creator, or an org admin |
| Set a view as the default | An org owner or admin |

A private view must be shared before it can become the default. The default view cannot be deleted.

## Widget reference

Add widgets from the **Add widget** drawer. They are grouped into 4 categories.

### Open a result from a widget

Ranked-list widgets link out to the detail behind each row, so a widget is a starting point rather than a summary you read and leave.

| Click | Opens |
| :- | :- |
| A test name in **Slowest tests**, **Flakiest tests**, **Most-failing tests**, **Chronic failures**, or **Degrading tests** | That test case in [Test Explorer](/platform/playwright-test-explorer), with its history open |
| **Run #N** in **Chronic failures** or **Degrading tests** | That test case as it ran in that test run |
| A tag in **Tag breakdown** | [Test Explorer](/platform/playwright-test-explorer) filtered to that tag |

A link carries the widget's own time window and platform filter, so what opens is scoped the same way as the row you clicked. Ranking a test over 90 days and opening it gives you 90 days of history, not whatever window you last used in Test Explorer.

For a test that runs on several platforms, the link opens the platform variant you clicked. The status, platform, and last run shown all describe that variant.

### Reliability

<img src="https://tdstorageus.blob.core.windows.net/public/docs/project/playwright-test-analytics/analytics-widgets-reliability.webp" alt="Reliability widgets showing health at a glance, pass rate trend, flakiness trend, flakiest tests, most-failing tests, and chronic failures" />

| Widget | What it shows |
| :- | :- |
| **Health at a glance** | Pass rate, flakiness, p95 duration, and reliability, each with a trend |
| **Pass rate trend** | Run pass rate over time |
| **Flakiness trend** | Flaky-run rate over time |
| **Flakiest tests** | Tests with the most unstable, inconsistent results |
| **Most-failing tests** | Tests that fail most often, with their top error |
| **Chronic failures** | Tests that stay broken over time, with a reason |

### Performance

<img src="https://tdstorageus.blob.core.windows.net/public/docs/project/playwright-test-analytics/analytics-widgets-performance.webp" alt="Performance widgets showing slowest tests, degrading tests, duration trend, and coverage trend" />

| Widget | What it shows |
| :- | :- |
| **Slowest tests** | Tests ranked by p95, p99, and average duration |
| **Degrading tests** | Tests getting slower over time |
| **Duration trend** | p50 and p95 run duration over time |
| **Coverage trend** | Code coverage over time across runs |

### Errors

<img src="https://tdstorageus.blob.core.windows.net/public/docs/project/playwright-test-analytics/analytics-widgets-errors.webp" alt="Errors widget showing error clusters, repeated failures grouped by error signature" />

| Widget | What it shows |
| :- | :- |
| **Error clusters** | Repeated failures grouped by error signature |

### Tags

<img src="https://tdstorageus.blob.core.windows.net/public/docs/project/playwright-test-analytics/analytics-widgets-tags.webp" alt="Tags widget showing tag breakdown, test distribution and health by tag" />

| Widget | What it shows |
| :- | :- |
| **Tag breakdown** | Test distribution and health by tag |

## Related

<CardGroup cols={2}>
  <Card title="Test Explorer" icon="magnifying-glass-chart" href="/platform/playwright-test-explorer">
    Find failing, flaky, or slow tests across the project
  </Card>

  <Card title="Test Runs" icon="play" href="/platform/playwright-test-runs">
    View and debug individual test runs
  </Card>

  <Card title="Code Coverage" icon="chart-bar" href="/guides/playwright-code-coverage">
    Set up Istanbul coverage collection
  </Card>

  <Card title="Organization Analytics" icon="chart-line" href="/platform/organizations/analytics">
    Compare health across every project in your org
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.