---
id: ui-coverage/core-concepts/views
title: Views of URLs and mounted components | Cypress UI Coverage
description: >-
  UI Coverage is organized into views, which are the unique URLs across all
  snapshots from end-to-end tests and the unique mounted components from
  component tests.
section: ui-coverage
source_path: docs/ui-coverage/core-concepts/views.mdx
version: e6988a974973e9090ce70406c38cb2b9e0eac9fa
updated_at: '2026-05-15T15:50:22.536Z'
---
# Views

UI Coverage organizes unique URLs from snapshots in end-to-end tests and mounted components in component tests into Views. Each View represents a distinct page or state in your application, allowing you to track coverage across different parts of your application.

## How views are created

By default, UI Coverage applies a set of rules to generate a single View for dynamic URLs representing the same page. These rules ensure clarity by grouping similar URLs and reducing noise:

*   **Search Parameters**: All query parameters are removed (e.g., `/dashboard?tab=overview` becomes `/dashboard`).
*   **Hash Parameters**: Fragment identifiers are removed unless they represent a subpath (e.g., `#/admin`).
*   **Dynamic Segments**: URL segments that differ only by integers or UUIDs are replaced with a wildcard (`*`).

### Examples of views

*   `/users/123/profile` and `/users/456/profile` become `/users/*/profile`
*   `/dashboard?tab=overview` and `/dashboard?tab=settings` become `/dashboard`
*   `/app#settings` and `/app#profile` become `/app`
*   `/app#/admin` and `/app#/settings` remain separate Views

These rules help consolidate similar pages into manageable Views while maintaining specificity where needed.

## Using Views

In the UI Coverage interface, Views are listed along with their coverage scores, providing insights into:

*   **Tested Areas**: Identify which parts of your application have sufficient test coverage.
*   **Untested Areas**: Spot pages or components that lack testing and prioritize them.
*   **Coverage Trends**: Track how coverage evolves across Views over time.
*   **Critical Flows**: Focus testing efforts on key user journeys and ensure their completeness.

## Customizing views

You can tailor how URLs are grouped into Views using configuration options:

### View grouping

Define rules for grouping URLs into Views to align with your application's structure:

```
{  "views": [    {      "pattern": "https://cypress.io/users/*"    }  ]}
```

To learn more about the configuration options, refer to the [Views](/llm/markdown/ui-coverage/configuration/views.md) documentation.

### Ignoring views

Exclude irrelevant or low-priority URLs from being tracked as Views:

```
{  "viewFilters": [    {      "pattern": "https://auth.example.com/*",      "include": false    }  ]}
```

To learn more about the configuration options, refer to the [View Filters](/llm/markdown/ui-coverage/configuration/viewfilters.md) documentation.
