SuperAPI AI 工具集

test-framework-migration-skill

测试与质量

查看项目

更新于 10-16 06:13

技能介绍

用途:该技能用于把测试自动化脚本在 Selenium、Playwright、Puppeteer 与 Cypress 之间迁移。当用户要求迁移、转换或移植测试、用其他框架重写测试,或从 Selenium 切换到 Playwright、Playwright 切换到其他框架时使用。

工作流程:定位为资深 QA 自动化架构师。第一步检测源框架,依据消息或代码中的信号,如 Selenium/WebDriver/driver.findElement/By.id/ChromeDriver 对应 Selenium,Playwright/@playwright/test/page.getByRole 对应 Playwright,Puppeteer/puppeteer.launch/page.$ 对应 Puppeteer,Cypress/cy.get/cy.visit/cy.contains/cy.should 对应 Cypress;不明确时询问用户当前使用哪种框架。第二步检测目标框架,从用户消息中的“to Playwright/to Selenium”等表达判断,仅给出源框架时询问目标框架。第三步检测语言,并说明源语言到目标语言的常见情况,例如 Selenium(Java/Python/C#)迁移到 Playwright 通常意味着改写为 TypeScript 或 JavaScript。

参考文件路由:生成迁移代码前必须阅读对应参考文件,如 selenium-to-playwright.md、playwright-to-selenium.md、selenium-to-puppeteer.md、puppeteer-to-selenium.md、puppeteer-to-playwright.md、playwright-to-puppeteer.md、cypress-to-playwright.md、playwright-to-cypress.md、selenium-to-cypress.md、cypress-to-selenium.md。没有对应文件时应说明,并建议最接近的受支持迁移。

映射要点:定位器转换、等待策略转换(显式等待/自动等待/cy.should)、点击输入选择等操作映射、断言风格映射、生命周期调整(driver 与 page、launch 与 connect 等)。若使用云平台,迁移后指向目标框架的云文档。生成后对照参考文件的“Gotchas”部分验证。

验证要求:确保每个定位器、操作、断言都已按参考映射转换,无遗留源 API;生命周期匹配目标框架;目标为 Playwright 时使用自动等待断言(如 expect(locator).toBeVisible())而非 raw waitForTimeout;目标为 Cypress 时 cy 命令不使用 async/await,使用链式风格;目标为 Selenium 时使用显式 WebDriverWait,不使用 Thread.sleep。

限制:仅在任务与该上游来源及本地项目上下文明确匹配时使用。应用变更前应验证命令、生成代码、依赖、凭据和外部服务行为。示例不能替代特定环境测试、安全审查或针对破坏性/高成本操作的用户批准。该技能的具体安装方式、收费与平台支持在提供的资料中暂未说明。