Agent Skills
返回列表
💻

测试框架迁移助手

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/test-framework-migration-skill。

技能介绍

背景:框架换栈时的真实成本

团队从 Selenium 迁到 Playwright、或从 Cypress 统一到 Puppeteer,往往不是「改几个 import」就能完成。定位器写法(By.id vs page.getByRole vs cy.get)、等待模型(显式 WebDriverWait、Playwright 自动等待、Cypress 链式 cy.should)、以及 driver/page/browser 的生命周期差异,都会在批量改写时反复踩坑。本技能把迁移当成有对照表的工程任务,而不是让模型凭印象「翻译」测试代码。

技能如何推进一次迁移

扮演资深 QA 自动化架构师,按固定流程工作:

  1. 识别源与目标框架 — 从用户消息或已打开文件里的关键字(如 driver.findElement、@playwright/test、cy.visit)判断 Selenium / Playwright / Puppeteer / Cypress;信息不足时会先问清源与目标。
  2. 语言与路径 — 结合源语言与目标框架习惯(例如 Java Selenium → Playwright 通常意味着重写为 TS/JS),并在生成代码前必读对应 reference/*-to-*.md。
  3. 按映射改写 — 参考文档中的 API 对照,逐项处理定位器、等待、操作、断言、setup/teardown;若涉及 TestMu 等云执行,会指向目标框架的云集成说明。
  4. 迁移后校验 — 检查是否残留源 API;Playwright 侧避免滥用 waitForTimeout;Cypress 保持链式、不对 cy 乱用 async/await;Selenium 侧用显式等待而非 Thread.sleep。

更完整的 Playbook、CI 清单与框架对比见技能内的 reference/overview.md、reference/playbook.md;深度 POM/云集成可交叉参考同系列的 playwright-skill、selenium-skill 等。

适用边界

  • 支持的迁移组合以技能内参考表为准(Selenium ↔ Playwright/Puppeteer/Cypress 等);表中没有的组合会说明并建议最接近的受支持路径。
  • 技能侧重脚本级 API 与模式迁移,不会替代你在目标栈上的项目结构决策(目录、Runner、并行策略等仍需按团队规范落地。

使用场景

  • 存量 Selenium 用例(`By.id`、`WebDriverWait`)要迁到 Playwright,需按 reference 映射改定位器与断言,避免残留 driver API。
  • 团队 CI 从 Cypress 切到 `@playwright/test`,要把 `cy.visit`/`cy.should` 链式用例改写成 Playwright 自动等待风格。
  • Puppeteer 的 `page.goto`/`page.$` 脚本要并入 Java Selenium 项目,需对照参考文档调整 launch 与显式等待。
  • 打开测试文件后无法判断是 Selenium 还是 Cypress,需要先识别源框架、确认目标栈,再读取对应 `*-to-*.md` 再生成代码。

适合人员

  • 维护 Java/Python Selenium 回归套件、计划迁 Playwright 且担心漏改等待与定位 API 的 QA 自动化工程师
  • 负责多仓库测试栈统一,要在 Selenium、Playwright、Puppeteer、Cypress 间批量改脚本并核对 CI 清单的测试架构师
  • 接手遗留 E2E 仓库、需把 Puppeteer 或 Selenium JS 迁到 Cypress 并避免对 `cy` 误用 async/await 的前端/测试开发
  • 在 TestMu 等云网格上跑测、框架切换后要对齐目标框架云集成与 setup/teardown 的 QA 或 DevOps 负责人