Skip to content
Latchkey

Cypress vs Selenium: qual ferramenta E2E para CI?

O Cypress é uma ferramenta E2E moderna e JS-first; o Selenium é o padrão multilinguagem e multibrowser com uma pegada enorme.

O Cypress roda testes no navegador com uma API JS focada no desenvolvedor. O Selenium (WebDriver) controla navegadores em muitas linguagens e é o padrão de mercado de longa data, inclusive via Grid para escala.

CypressSelenium
LinguagensJavaScript/TypeScriptJava, Python, C#, JS, Ruby, mais
ArquiteturaNo navegadorProtocolo WebDriver
Cobertura de navegadoresFamília Chromium + outros (varia)Muito ampla (todos os principais navegadores)
Auto-waiting / DXForte, modernoWaits manuais comuns
EscalaParalelo (dashboard/manual)Selenium Grid

No CI

O Cypress oferece uma experiência de desenvolvimento polida, com auto-waiting e boa depuração, o que reduz flakiness para equipes JS. O Selenium é incomparável para equipes multilinguagem e para a mais ampla cobertura de navegadores/dispositivos, e o Grid o escala entre máquinas. Ambos precisam de binários de navegador instalados no CI - uma falha de setup comum.

Flakiness

Ambos ficam flaky com timing e estados de servidor-não-pronto. O auto-waiting do Cypress ajuda; o Selenium muitas vezes precisa de waits explícitos. Runners com autocorreção podem repetir as falhas transitórias para que um flake pontual não derrube o build inteiro.

O veredito

Equipe JS/TS que quer DX moderna: Cypress. Equipes multilinguagem ou máxima cobertura de navegadores: Selenium (com Grid). Instale navegadores no CI e planeje retries para testes flaky de qualquer forma.

Guias relacionados