Skip to main content
Cypress无障碍测试高级解决方案

viewFilters

默认情况下,测试运行中访问的每个URL都会包含在报告中。但并非所有URL都与您的分析相关。viewFilters属性允许您指定需要排除的URL模式,确保报告聚焦于应用程序的关键部分。

在UI覆盖率分析中,排除某个URL会同时从报告中移除该URL下的所有应用快照,并且排除指向该URL的所有链接对覆盖率分数的贡献。

为什么使用视图过滤器?

  • 排除第三方URL:如果您的应用集成了第三方服务,可能需要排除其URL
  • 排除管理页面:非用户界面的URL(如管理后台)可从报告中移除
  • 减少干扰:测试中访问的某些URL(如错误页或重定向页)可能不代表有效用户流程
  • 优化性能:过滤无关URL可减少数据处理量,加速分析并提升报告可读性

作用范围

info

**注意:**设置viewFilters会同时影响无障碍测试和UI覆盖率报告。 如需分别配置,可将该属性嵌套在accessibilityuiCoverage键下。

语法

{
"viewFilters": [
{
"pattern": string,
"include": boolean
}
]
}

选项

对于每个访问的URL和发现的链接元素,系统会应用第一个匹配patternviewFilters规则,根据include值决定是否包含该URL。未匹配任何规则的URL默认会被包含。

选项必填默认值描述
pattern使用URL Pattern API语法匹配URL的字符串
includetrue布尔值,决定匹配的URL是否应包含在报告中

示例

按主机名排除URL

配置

{
"viewFilters": [
{
"pattern": "https://app.okta.com/*",
"include": false
}
]
}

访问的URL

https://app.okta.com/login
https://cypress.io/home
https://cypress.io/about

界面显示的视图

https://cypress.io/home
https://cypress.io/about

仅包含特定URL

配置

{
"viewFilters": [
{
"pattern": "https://cypress.io/dashboards*",
"include": true
},
{
"pattern": "*",
"include": false
}
]
}

访问的URL

https://cypress.io/dashboards
https://cypress.io/dashboards/1
https://cypress.io/dashboards/2
https://cypress.io/home
https://cypress.io/login

界面显示的视图

https://cypress.io/dashboards
https://cypress.io/dashboards/*

排除错误页面

配置

{
"viewFilters": [
{
"pattern": "http*://*/404",
"include": false
},
{
"pattern": "http*://*/error/*",
"include": false
}
]
}

访问的URL

https://cypress.io/home
https://cypress.io/404
https://cypress.io/error/500

界面显示的视图

https://cypress.io/home