用途:该技能面向 Cypress 测试框架,帮助用户编写、组织与调试端到端测试和组件测试,适用于提及测试、端到端测试等场景。
主要能力:涵盖 Cypress 核心概念,包括基于 JavaScript 的测试、文件变更实时重载、时间旅行快照调试、自动等待、网络请求桩与监听、内置截图与视频。测试结构支持 Mocha 风格的 describe/it、before/beforeEach/after/afterEach 钩子、自定义命令、fixtures 测试数据、别名与链式命令。高级功能包括 intercepts 网络请求控制、React/Vue/Angular 组件测试、Applitools 视觉测试集成、代码覆盖率报告、Cypress Cloud 并行执行与插件扩展。
使用方式:资料给出最佳实践,如保持测试独立隔离、使用描述性测试名、用 describe 分组、用 beforeEach 做公共准备、测试后清理;选择器优先使用 data-* 属性、cy.contains() 文本选择、基于角色的选择器,避免与样式绑定的 CSS 类和 ID;断言使用 should() 自动重试、链式断言、覆盖正反用例;性能上使用 cy.session() 处理认证、fixtures 提供数据、模拟外部 API、减少页面访问、用别名避免重复查询、通过 Cypress Cloud 并行运行。同时列出反模式:任意时间的 cy.wait()、不使用 data-testid、测试逻辑过于复杂、测试间共享状态、测试实现细节、afterEach 缺少清理、脆弱的 CSS 选择器、依赖元素位置、过度具体的选择器、不必要的 XPath、测试与 UI 结构耦合、依赖执行顺序、单测试断言过多、缺少边界与错误场景、重复测试逻辑、fixture 管理不佳。
限制:资料未提供具体安装命令、版本要求、收费与价格信息,也未给出完整代码示例;详细实现示例需按需查阅随技能提供的参考文档。