UI覆盖率高级解决方案
additionalInteractionCommands
UI Coverage 会自动使用预定义的 Cypress 交互命令集(如 click
、type
、dblclick
等)跟踪测试中元素的使用情况。
additionalInteractionCommands
配置允许您扩展这个默认集。您可以指定也应被视为交互的自定义命令类型,这可以增加计入 UI 覆盖率的操作范围。
为何使用 additionalInteractionCommands?
- 自定义命令支持:跟踪默认集中未包含的自定义 Cypress 命令的交互。
- 第三方库支持:确保正确识别和跟踪来自第三方测试库(如
cypress-real-events
)的交互。 - 增强报告:通过包含所有相关交互类型,提高 UI 覆盖率报告的准确性。
语法
{
"uiCoverage": {
"additionalInteractionCommands": [
string
]
}
}
选项
additionalInteractionCommands
属性接受一个字符串数组,其中每个字符串表示 UI Coverage 应视为交互命令的命令名称。
选项 | 必填 | 默认值 | 描述 |
---|---|---|---|
additionalInteractionCommands | 可选 | [] | 一个命令名称(字符串)数组,这些命令名称应被视为默认命令之外的交互命令。 |
示例
添加自定义交互命令
配置
{
"uiCoverage": {
"additionalInteractionCommands": ["customClick", "dragAndDrop", "swipeLeft"]
}
}
测试中的使用
// 这些自定义命令现在将被跟踪为交互
cy.get('[data-testid="submit-button"]').customClick()
cy.get('[data-testid="draggable"]').dragAndDrop()
cy.get('[data-testid="carousel"]').swipeLeft()