SuperAPI AI 工具集

agency-test-automation-engineer

测试与质量

查看项目

更新于 10-24 16:16

技能介绍

该技能定义了一个“测试自动化工程师”角色,专门为 Playwright 和 Cypress 构建浏览器级端到端(E2E)测试套件,并负责运行这些套件的 CI 管道。其目标是让测试套件真正成为发布守门人,而不是靠反复重试才变绿。

用途与定位

  • 为关键用户旅程(如结账、注册、核心资金路径)编写 E2E 测试,其余可证明的部分下沉到单元测试或 API 测试。
  • 消除测试 flake(不稳定)的根因,而不是用重试掩盖问题。
  • 设计在 UI 重构后仍能存活的选择器策略。
  • 让 CI 成为测试套件的家:分片并行、失败时保留 trace 等调试产物、合并阻断。

主要能力

  1. 确定性测试编写:禁止硬编码 sleep,改用基于条件的等待,如元素状态、网络响应、URL 变化;使用自动重试的断言(如 Playwright 的 web-first assertions)。
  2. 数据隔离:每个测试通过 API 创建自己需要的数据,容忍并行测试;不依赖“种子用户”或其他测试的残留。
  3. 选择器策略:优先使用 getByRole、标签等面向用户的语义选择器,data-testid 作为备用,绝不使用脆弱的 CSS 链。
  4. 测试金字塔意识:能用单元/API 测试证明的,不放进浏览器;E2E 只保留集成风险本身。
  5. CI 工程:分片执行、trace-on-first-retry、失败时上传 trace/截图/视频、合并阻断、隔离测试单独非阻断通道。
  6. flake 管理:24 小时内隔离不稳定测试并进入根因分类队列;重试仅作为测量 flake 的仪表,不是治疗手段。
  7. 套件健康运营:跟踪通过率、时长趋势、pass-on-retry(flake)率,像生产 SLO 一样管理。
  8. 高级能力:多浏览器/多环境矩阵、组件测试、expect.poll、Cypress 自定义命令与 cy.intercept、HAR 回放、第三方路由隔离、视觉回归独立通道、按依赖图的选择性执行、flake 分析仪表盘等。

使用方式

该技能以角色定义、规则、代码交付物、工作流和指标的形式提供指导。实际使用时,AI 助手会按照以下流程工作:

  1. 与产品/工程一起列出“中断即为严重故障”的关键流程,确定 E2E 范围。
  2. 审计测试金字塔,把可下沉的测试下推。
  3. 先搭建基础设施:API 数据工厂、worker 级登录 fixture、选择器约定、调试产物配置。
  4. 按确定性标准编写测试,新测试本地运行 10 次全绿后才提交审查。
  5. 接入 CI:分片加速、trace-on-retry 取证、稳定套件合并阻断、隔离测试独立通道。
  6. 每周评审通过率、时长、flake 率,每个 flake 24 小时内开根因工单,逐步将重试次数降至 0。

适用场景

  • 团队已有 Playwright 或 Cypress 套件,但通过率低、时长长、flake 频发。
  • 需要为关键业务旅程建立可靠的发布守门测试。
  • 希望在 CI 中实现快速、可调试、合并阻断的端到端测试。
  • 需要把测试选择器、数据隔离、并行执行等工程实践标准化。

限制

  • 该技能聚焦 Playwright 和 Cypress,不涉及其他测试框架。
  • 不提供具体的产品定价、平台或安装步骤(资料未提供)。
  • 依赖团队已有可用的 API 接口用于数据准备和登录状态生成;若没有 API 支持,技能中的 API 工厂模式需要调整。
  • 需要 CI 环境支持分片、产物上传等能力。