Agent Skills
返回列表
🤖

Playwright 迁移助手

AI Agent 更新于 2026.08.30

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/breeze-migrate。

技能介绍

测试框架迁移的痛点

当你决定从 Cypress 或 Selenium 迁移到 Playwright 时,最头疼的往往不是学习新 API,而是面对成百上千个遗留测试文件的机械翻译工作。手动重写定位器、转换自定义命令、调整 Page Object 结构,不仅耗时,还容易在重构中引入新 Bug。更麻烦的是,迁移后的 CI 流水线配置、依赖清理和文档更新往往被忽略,导致新旧测试框架在仓库中共存,增加维护负担。

自动化与结构化的迁移流程

@user_3c6cb52e/breeze-migrate 将这一过程拆解为可追踪的工程化步骤。它首先通过 Explore 子代理 扫描项目结构,自动识别源框架(如 cypress/ 目录、package.json 依赖或 Python 的 selenium 导入)。接着,它会根据测试文件数量评估迁移规模,并选择直接转换、分组批处理或调用 /batch 并行转换的策略。

在核心转换阶段,技能会加载对应的映射规则(如 cypress-mapping.md),将 Cypress 的自定义命令转换为 Playwright 的 test.extend() fixtures,将 before/beforeEach 映射为 test.beforeAll/beforeEach。同时,它会主动升级定位器策略,把易碎的 CSS 选择器或 XPath 替换为 getByRole()、getByTestId() 等 Playwright 最佳实践。每转换完一个文件,它会立即修复编译或运行时错误,确保代码库始终处于可运行状态。

边界与注意事项

这个技能目前主要聚焦于 JavaScript/TypeScript 和 Python 的 Web UI 测试迁移,且前提是项目中尚未配置 Playwright(需先执行 /pw:init)。对于高度依赖第三方插件或复杂自定义 BDD 框架的遗留项目,自动转换可能无法覆盖所有边缘情况,仍需人工干预。此外,在清理旧依赖和 CI 配置时,技能会请求用户确认,避免误删关键文件。建议在独立的分支上运行此迁移流程,以便对比迁移前后的测试运行结果。

使用场景

  • 项目中存在大量Cypress测试文件,需要将其逐个迁移到Playwright以支持并行执行和跨浏览器测试。
  • 现有基于Selenium/WebDriver的Python测试文件,需转换为Playwright并升级定位器策略以提升稳定性。
  • 中型规模的测试套件(11-30个文件),需要分组批量转换并同步更新CI工作流中的测试执行命令。
  • 迁移过程中需将Cypress自定义命令转换为Playwright fixtures,同时保留Page Object的现有结构。

适合人员

  • 前端测试工程师,需将遗留的Cypress测试套件迁移到Playwright以支持并行执行和跨浏览器测试。
  • 自动化测试开发人员,要将Selenium WebDriver测试转换为Playwright并升级定位器策略以减少维护成本。
  • 测试团队负责人,需要批量迁移中型项目的测试文件并同步更新CI流水线和README中的测试命令。
  • Python测试开发者,需将基于selenium的Python测试文件迁移到Playwright并调整Page Object的API调用。