Agent Skills
返回列表
Playwright 端到端测试 Runner

Playwright 端到端测试 Runner

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_23af92d1/xjy。

技能介绍

为什么需要专门的 E2E 思路

Playwright 自带自动等待,但测试仍容易在动态 DOM、网络时序和共享状态上翻车。用 CSS/XPath 硬选元素、到处 waitForTimeout,会让套件变慢且一改 UI 就红一片。这个技能把「旅程怎么拆、元素怎么找、失败怎么查」收成一套可重复的做法,面向可维护、可 CI 复跑的端到端测试。

技能如何组织测试

Test Journey 按真实用户流写:登录 → 操作 → 断言;一个逻辑域一个文件(如 auth.spec.ts、checkout.spec.ts),单测内用 Arrange-Act-Assert。

定位优先级(语义优先):

  • getByRole('button', { name: 'Submit' })
  • getByLabel / getByPlaceholder / getByText
  • getByTestId 仅作兜底;避免 getByCss、getByXPath 绑死样式结构

等待:用 expect(...).toBeVisible()、toBeEnabled() 等条件断言;网络用 page.waitForResponse() / waitForRequest(),而不是固定 sleep。

Flaky 对照表涵盖时序、竞态、共享状态、动画、外部依赖与用例顺序——对应隔离页面/数据、Mock、fixture、并行与串行策略。

产物:Trace(npx playwright show-trace)、失败截图与可选失败录像,便于 CI 里 --retries=2 仍失败时的定位。

适用边界

它指导测试设计与 Playwright 用法,不替代你编写业务断言或搭建测试环境(DB、鉴权 fixture)。动画-heavy 页面可能仍需在测试配置里关动画或等终态;外部 API 仍建议 Mock 而非依赖不稳定联调。

使用场景

  • 新功能上线前,要把「登录→下单→支付结果」拆成独立 spec,并用 role/label 写断言而非 CSS 选择器
  • CI 里间歇失败,需要把 waitForTimeout 改成 toBeVisible 等条件等待,并核对竞态与共享数据
  • 发布前回归:为 auth、checkout 分文件维护 Arrange-Act-Assert 旅程,保证用例互不依赖
  • 某条流水线失败后,用 trace.zip 与失败截图对照网络 waitForResponse 与页面终态

适合人员

  • 负责 Web 应用在 GitHub Actions 里跑 Playwright、需要控制 flaky 率的前端工程师
  • 从 Selenium/CSS 定位迁移到 Playwright,希望统一 getByRole 与 POM 结构的测试开发
  • 每次发版要做完整用户旅程回归、但不想用例顺序绑死的 QA 自动化同学
  • 调试 E2E 失败时依赖 Trace 与失败录像、而非盲目加长 sleep 的全栈或 SDET