L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

migrate

migrate

Migre do Cypress ou Selenium para o Playwright. Use quando o usuário mencionar "cypress", "selenium", "migrar testes", "converter testes", "migrar para playwright", "sair do cypress" ou "substituir selenium".

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "migrate" description: >- Migre do Cypress ou Selenium para o Playwright. Use quando o usuário mencionar "cypress", "selenium", "migrar testes", "converter testes", "migrar para playwright", "sair do cypress" ou "substituir selenium". agents:

  • claude-code

Migrar para o Playwright

Migração interativa do Cypress ou Selenium para o Playwright com conversão arquivo por arquivo.

Entrada

$ARGUMENTS pode ser:

  • "from cypress" — migrar suite de testes Cypress
  • "from selenium" — migrar testes Selenium/WebDriver
  • Um caminho de arquivo: converter um arquivo de teste específico
  • Vazio: detectar automaticamente o framework de origem

Passos

1. Detectar o Framework de Origem

Use o subagente Explore para escanear:

  • Diretório cypress/ ou cypress.config.ts → Cypress
  • selenium, webdriver nas dependências do package.json → Selenium
  • Arquivos .py com imports de selenium → Selenium (Python)

2. Avaliar o Escopo da Migração

Contar arquivos e categorizar:

Avaliação de Migração:
- Total de arquivos de teste: X
- Comandos customizados Cypress: Y
- Fixtures Cypress: Z
- Esforço estimado: [pequeno|médio|grande]
TamanhoArquivosAbordagem
Pequeno (1-10)Converter sequencialmenteConversão direta
Médio (11-30)Em lotes de 5Usar subagentes
Grande (31+)Usar /batchConversão paralela com /batch

3. Configurar Playwright (Se Não Estiver Presente)

Executar /pw:init primeiro se o Playwright não estiver configurado.

4. Converter Arquivos

Para cada arquivo, aplicar o mapeamento apropriado:

Cypress → Playwright

Carregar cypress-mapping.md para referência completa.

Traduções principais:

cy.visit(url)           → page.goto(url)
cy.get(selector)        → page.locator(selector) ou page.getByRole(...)
cy.contains(text)       → page.getByText(text)
cy.find(selector)       → locator.locator(selector)
cy.click()              → locator.click()
cy.type(text)           → locator.fill(text)
cy.should('be.visible') → expect(locator).toBeVisible()
cy.should('have.text')  → expect(locator).toHaveText(text)
cy.intercept()          → page.route()
cy.wait('@alias')       → page.waitForResponse()
cy.fixture()            → import JSON ou arquivo de dados de teste

Comandos customizados Cypress → fixtures ou funções helper do Playwright Plugins Cypress → config ou fixtures do Playwright before/beforeEach → test.beforeAll() / test.beforeEach()

Selenium → Playwright

Carregar selenium-mapping.md para referência completa.

Traduções principais:

driver.get(url)                    → page.goto(url)
driver.findElement(By.id('x'))     → page.locator('#x') ou page.getByTestId('x')
driver.findElement(By.css('.x'))   → page.locator('.x') ou page.getByRole(...)
element.click()                    → locator.click()
element.sendKeys(text)             → locator.fill(text)
element.getText()                  → locator.textContent()
WebDriverWait + ExpectedConditions → expect(locator).toBeVisible()
driver.switchTo().frame()          → page.frameLocator()
Actions                            → locator.hover(), locator.dragTo()

5. Atualizar Localizadores

Durante a conversão, atualizar seletores para as melhores práticas do Playwright:

  • #id → getByTestId() ou getByRole()
  • .class → getByRole() ou getByText()
  • [data-testid] → getByTestId()
  • XPath → localizadores baseados em role

6. Converter Comandos Customizados / Utilitários

  • Comandos customizados Cypress → fixtures customizados do Playwright via test.extend()
  • Page objects Selenium → page objects do Playwright (manter estrutura, atualizar API)
  • Helpers compartilhados → funções utilitárias TypeScript

7. Verificar Cada Arquivo Convertido

Após converter cada arquivo:

npx playwright test <arquivo-convertido> --reporter=list

Corrigir erros de compilação ou de execução antes de avançar para o próximo arquivo.

8. Limpeza

Após todos os arquivos serem convertidos:

  • Remover dependências Cypress/Selenium do package.json
  • Remover arquivos de configuração antigos (cypress.config.ts, etc.)
  • Atualizar pipeline de CI para usar o Playwright
  • Atualizar README com novos comandos de teste

Perguntar ao usuário antes de deletar qualquer coisa.

Saída

  • Resumo da conversão: arquivos convertidos, total de testes migrados
  • Testes que não puderam ser convertidos automaticamente (intervenção manual necessária)
  • Config de CI atualizada
  • Comparação antes/depois dos resultados de execução dos testes
Skills enregistrées