← ClaudeAtlas

migratelisted

Migrate from Cypress or Selenium to Playwright. Use when user mentions "cypress", "selenium", "migrate tests", "convert tests", "switch to playwright", "move from cypress", or "replace selenium".
adriannoes/awesome-vibe-coding · ★ 38 · AI & Automation · score 83
Install: claude install-skill adriannoes/awesome-vibe-coding
# Migrate to Playwright Interactive migration from Cypress or Selenium to Playwright with file-by-file conversion. ## Input `$ARGUMENTS` can be: - `"from cypress"` — migrate Cypress test suite - `"from selenium"` — migrate Selenium/WebDriver tests - A file path: convert a specific test file - Empty: auto-detect source framework ## Steps ### 1. Detect Source Framework Use `Explore` subagent to scan: - `cypress/` directory or `cypress.config.ts` → Cypress - `selenium`, `webdriver` in `package.json` deps → Selenium - `.py` test files with `selenium` imports → Selenium (Python) ### 2. Assess Migration Scope Count files and categorize: ``` Migration Assessment: - Total test files: X - Cypress custom commands: Y - Cypress fixtures: Z - Estimated effort: [small|medium|large] ``` | Size | Files | Approach | |---|---|---| | Small (1-10) | Convert sequentially | Direct conversion | | Medium (11-30) | Batch in groups of 5 | Use sub-agents | | Large (31+) | Use `/batch` | Parallel conversion with `/batch` | ### 3. Set Up Playwright (If Not Present) Run `/pw:init` first if Playwright isn't configured. ### 4. Convert Files For each file, apply the appropriate mapping: #### Cypress → Playwright Load `cypress-mapping.md` for complete reference. Key translations: ``` cy.visit(url) → page.goto(url) cy.get(selector) → page.locator(selector) or page.getByRole(...) cy.contains(text) → page.getByText(text) cy.find(selector) → locator.locator(selector)