Cypress 自动化测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/cypress-skill。
技能介绍
问题背景
前端回归往往卡在「测第三方站点不稳定」「cy.wait(5000) 一写就 flaky」和「把 Cypress 当 Playwright 用 async/await」这几类坑上。E2E、组件测试和 cy.request API 校验又分属不同目录与心智模型,团队若没有统一约定,spec 会越堆越长、隔离性变差。
技能如何工作
技能把 Agent 定位成专精 Cypress 的 QA 自动化架构师,先对齐执行目标,再按信号选测试类型:页面 URL / E2E 语汇走 cypress/e2e/,React/Vue 组件走 cypress/component/,API 测试走 cypress/e2e/api/。
核心强调 Cypress 命令链 而非 imperative 写法:选择器优先 data-cy,网络侧用 cy.intercept() + cy.wait('@alias') 替代任意等待;反模式表直接对照「const el = cy.get()、在 cy 里 async/await、单文件巨型 beforeEach」等常见误用。
产出侧覆盖基本 spec 结构、拦截与桩、自定义命令,以及验证清单:零数字 cy.wait、.should() 链式断言、测试独立、cy.session() 处理登录。进阶主题通过 reference(组件测试、调试 flaky、云并行、页面对象、cy.clock()、iframe/Shadow DOM、无障碍与视觉回归、CI 矩阵等)按需展开。
适用边界
技能面向自有或可桩化的被测系统;对不可控的第三方生产站点,文档明确建议桩/模拟而非真网 E2E。组件测试需项目已配置 Cypress component runner;云执行(如 TestMu / LambdaTest 类集成)依赖各自 CLI 与账号,技能给的是模式与参考路径,不是替代你仓库里的 cypress.config 细节。
使用场景
- 新功能上线前,要在 `cypress/e2e/` 写登录到结账的端到端 spec,并用 intercept 等 API 而非固定等待
- React 组件改版后,需在 `cypress/component/` 补挂载与桩,覆盖 props 变体而不跑整站 E2E
- 接口契约变更时,在 `cypress/e2e/api/` 用 `cy.request` 做回归,并与 UI 用例隔离维护
- CI 里 spec 偶发失败,需按反模式清单排查 `cy.wait(数字)`、错误 async/await 与巨型 beforeEach
适合人员
- 负责前端仓库 Cypress 套件、要把登录流改成 `cy.session()` 并拆分 spec 的前端工程师
- 写 E2E 时被 flaky 困扰、需要 intercept 与 `data-cy` 选择器约定的 QA 自动化工程师
- 要在 GitHub Actions 矩阵里跑并行 E2E、并对照 Cloud/LambdaTest 集成的 DevOps 或发布工程师
- 引入 React/Vue 组件测试 runner、却缺少挂载与桩写法参考的前端测试负责人