{
  "doc": {
    "id": "ui-coverage/configuration/overview",
    "title": "Configuration | Cypress UI Coverage",
    "description": "Configuration allows you to customize and fine-tune UI Coverage in Cypress to suit specific needs and scenarios.",
    "section": "ui-coverage",
    "source_path": "/llm/markdown/ui-coverage/configuration/overview.md",
    "version": "3cf5b86b3403f604bdf7f3e35025c3bc3865e02c",
    "updated_at": "2026-05-07T17:44:31.931Z",
    "headings": [
      {
        "id": "ui-coverage/configuration/overview#configuration",
        "text": "Configuration",
        "level": 1
      },
      {
        "id": "ui-coverage/configuration/overview#new-configuration-options",
        "text": "New configuration options",
        "level": 2
      },
      {
        "id": "ui-coverage/configuration/overview#setting-configuration",
        "text": "Setting configuration",
        "level": 2
      },
      {
        "id": "ui-coverage/configuration/overview#configuration-options",
        "text": "Configuration options",
        "level": 2
      },
      {
        "id": "ui-coverage/configuration/overview#comments",
        "text": "Comments",
        "level": 3
      },
      {
        "id": "ui-coverage/configuration/overview#profiles",
        "text": "Profiles",
        "level": 3
      },
      {
        "id": "ui-coverage/configuration/overview#complete-configuration-example",
        "text": "Complete configuration example",
        "level": 3
      },
      {
        "id": "ui-coverage/configuration/overview#configuration-scope",
        "text": "Configuration scope",
        "level": 2
      },
      {
        "id": "ui-coverage/configuration/overview#viewing-configuration-for-a-run",
        "text": "Viewing Configuration for a Run",
        "level": 2
      },
      {
        "id": "ui-coverage/configuration/overview#next-steps",
        "text": "Next steps",
        "level": 2
      }
    ]
  },
  "chunks": [
    {
      "id": "ui-coverage/configuration/overview#new-configuration-options",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "New configuration options",
      "heading_level": 2,
      "content_markdown": "## New configuration options\n\nUI Coverage now supports defining custom commands that will count towards coverage scores, restricting which kinds of interactions are allowed for certain elements, and including assertions in the UI Coverage calculations. See the following new properties for more details:\n\n*   [`additionalInteractionCommands`](/llm/markdown/ui-coverage/configuration/additionalinteractioncommands.md)\n*   [`allowedInteractionCommands`](/llm/markdown/ui-coverage/configuration/allowedinteractioncommands.md)\n",
      "section": "ui-coverage",
      "anchors": [
        "new-configuration-options"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 63
    },
    {
      "id": "ui-coverage/configuration/overview#setting-configuration",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Setting configuration",
      "heading_level": 2,
      "content_markdown": "## Setting configuration\n\nTo add or modify the configuration for your project:\n\n1.  Navigate to the **App Quality** tab in your project settings on Cypress Cloud.\n2.  Use the configuration editor to add or edit configuration in JSON format.\n\nAfter new configuration changes have been saved, you can reprocess any historical run using the \"regenerate\" button on the properties tab where the configuration values that were used for that run are displayed, or through the UI Coverage report where the \"configuration updated\" message appears if you are looking at a historical run using an old config.\n\nRegenerating reports in this way allows you to make config changes and see their effects without running your Cypress tests again.\n",
      "section": "ui-coverage",
      "anchors": [
        "setting-configuration"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 156
    },
    {
      "id": "ui-coverage/configuration/overview#configuration-options",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Configuration options",
      "heading_level": 2,
      "content_markdown": "## Configuration options\n\nFor a quick overview of the practical application of the most common UI Coverage confiuration properties, you can read [this blog post](https://www.cypress.io/blog/making-the-most-of-ui-coverage).\n\n### Comments\n\nAll configuration objects support an optional `comment` property that you can use to provide context and explanations for why certain values are set. This helps make your configuration easier to understand and maintain, especially when working in teams or revisiting configuration after some time.\n\n```\n{  \"elementFilters\": [    {      \"selector\": \"[data-testid*='temp']\",      \"include\": false,      \"comment\": \"Exclude temporary test elements from coverage\"    }  ]}\n```\n\n### Profiles\n\nThe `profiles` property allows you to use different configuration settings for different runs based on [run tags](/llm/markdown/app/references/command-line.md#cypress-run-tag-lt-tag-gt). See the [Profiles](/llm/markdown/ui-coverage/configuration/profiles.md) guide for more details.\n\n### Complete configuration example\n\nA complete configuration with all available options looks as follows:\n\n```\n{  \"elementFilters\": [    {      \"selector\": string,      \"include\": boolean,      \"documentScope\": [string],      \"comment\": string    }  ],  \"views\": [    {      \"pattern\": string,      \"groupBy\": [        string      ],      \"comment\": string    }  ],  \"viewFilters\": [    {      \"pattern\": string,      \"include\": boolean,      \"comment\": string    }  ],  \"profiles\": [    {      \"name\": string,      \"config\": {        // Any App Quality configuration options      }    }  ],  \"uiCoverage\": {    \"attributeFilters\": [      {        \"attribute\": string,        \"value\": string,        \"include\": boolean,        \"comment\": string      }    ],    \"elementGroups\": [      {        \"selector\": string,        \"name\": string,        \"documentScope\": [string],        \"comment\": string      }    ],    \"significantAttributes\": [      string    ]  }}\n```\n",
      "section": "ui-coverage",
      "anchors": [
        "configuration-options"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 292
    },
    {
      "id": "ui-coverage/configuration/overview#comments",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Comments",
      "heading_level": 3,
      "content_markdown": "### Comments\n\nAll configuration objects support an optional `comment` property that you can use to provide context and explanations for why certain values are set. This helps make your configuration easier to understand and maintain, especially when working in teams or revisiting configuration after some time.\n\n```\n{  \"elementFilters\": [    {      \"selector\": \"[data-testid*='temp']\",      \"include\": false,      \"comment\": \"Exclude temporary test elements from coverage\"    }  ]}\n```\n",
      "section": "ui-coverage",
      "anchors": [
        "comments"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 87
    },
    {
      "id": "ui-coverage/configuration/overview#complete-configuration-example",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Complete configuration example",
      "heading_level": 3,
      "content_markdown": "### Complete configuration example\n\nA complete configuration with all available options looks as follows:\n\n```\n{  \"elementFilters\": [    {      \"selector\": string,      \"include\": boolean,      \"documentScope\": [string],      \"comment\": string    }  ],  \"views\": [    {      \"pattern\": string,      \"groupBy\": [        string      ],      \"comment\": string    }  ],  \"viewFilters\": [    {      \"pattern\": string,      \"include\": boolean,      \"comment\": string    }  ],  \"profiles\": [    {      \"name\": string,      \"config\": {        // Any App Quality configuration options      }    }  ],  \"uiCoverage\": {    \"attributeFilters\": [      {        \"attribute\": string,        \"value\": string,        \"include\": boolean,        \"comment\": string      }    ],    \"elementGroups\": [      {        \"selector\": string,        \"name\": string,        \"documentScope\": [string],        \"comment\": string      }    ],    \"significantAttributes\": [      string    ]  }}\n```\n",
      "section": "ui-coverage",
      "anchors": [
        "complete-configuration-example"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 137
    },
    {
      "id": "ui-coverage/configuration/overview#configuration-scope",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Configuration scope",
      "heading_level": 2,
      "content_markdown": "## Configuration scope\n\nThe root-level properties `elementFilters`, `viewFilters`, `attributeFilters`, and `significantAttributes` apply to both UI Coverage and Accessibility. These properties can also be nested under `uiCoverage` or `accessibility` to apply to only that product, with nested configuration taking precedence over root-level configuration.\n\nThe `views` property applies to UI Coverage and Accessibility but cannot be nested.\n",
      "section": "ui-coverage",
      "anchors": [
        "configuration-scope"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 73
    },
    {
      "id": "ui-coverage/configuration/overview#viewing-configuration-for-a-run",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Viewing Configuration for a Run",
      "heading_level": 2,
      "content_markdown": "## Viewing Configuration for a Run\n\nYou can review the configuration used during a specific run by checking the **Properties** tab, as shown below. This displays the configuration as it was applied at the start of the run.\n",
      "section": "ui-coverage",
      "anchors": [
        "viewing-configuration-for-a-run"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 51
    },
    {
      "id": "ui-coverage/configuration/overview#next-steps",
      "doc_id": "ui-coverage/configuration/overview",
      "heading": "Next steps",
      "heading_level": 2,
      "content_markdown": "## Next steps\n\nCheck out the following configuration guides.\n\n*   [Views](/llm/markdown/ui-coverage/configuration/views.md)\n*   [View Filters](/llm/markdown/ui-coverage/configuration/viewfilters.md)\n*   [Element Filters](/llm/markdown/ui-coverage/configuration/elementfilters.md)\n*   [Attribute Filters](/llm/markdown/ui-coverage/configuration/attributefilters.md)\n*   [Significant Attributes](/llm/markdown/ui-coverage/configuration/significantattributes.md)\n*   [Element Groups](/llm/markdown/ui-coverage/configuration/elementgroups.md)\n*   [Elements](/llm/markdown/ui-coverage/configuration/elements.md)\n*   [Additional Interaction Commands](/llm/markdown/ui-coverage/configuration/additionalinteractioncommands.md)\n*   [Allowed Interaction Commands](/llm/markdown/ui-coverage/configuration/allowedinteractioncommands.md)\n*   [Profiles](/llm/markdown/ui-coverage/configuration/profiles.md)\n\nUI Coverage now supports defining custom commands that will count towards coverage scores, restricting which kinds of interactions are allowed for certain elements, and including assertions in the UI Coverage calculations. See the following new properties for more details:\n",
      "section": "ui-coverage",
      "anchors": [
        "next-steps"
      ],
      "path": "/llm/json/chunked/ui-coverage/configuration/overview.json",
      "token_estimate": 103
    }
  ]
}