「Cypress는 끝났다」「Playwright가 Cypress를 완전히 이겼다」— 2024년경부터 개발자 커뮤니티와 QA 포럼에서 이런 의견이 늘고 있다. 테스트 자동화 도구로 한 시대를 풍미했던 Cypress지만, 2026년 현재 실태는 어떨까? QA 실무 경력 15년 이상을 바탕으로, GitHub Stars·State of JS·채용 시장·CI/CD·컴포넌트 테스트의 관점에서 Cypress·Playwright·Selenium을 냉정하게 비교한다. 결론을 먼저 말하면, 「Cypress는 끝나지 않았지만, 선택하는 이유를 명확히 해야 할 시대가 됐다」.
「Cypress는 끝났다」는 말은 반은 맞고 반은 틀렸다. 기세는 꺾였지만, Cypress가 아직 잘하는 것들이 분명히 있다.
📌 이런 분께 추천합니다
- 현재 Cypress를 사용 중이고 Playwright로 이전할지 고민 중인 분
- 2026년에 새 프로젝트에서 Cypress를 채택할지 검토 중인 분
- 「Cypress는 끝났다」는 말의 근거를 제대로 알고 싶은 분
- Cypress·Playwright·Selenium 3가지 도구를 정확하게 비교하고 싶은 QA 엔지니어
✅ 이 글을 읽으면
- 「Cypress가 뒤처지고 있다」는 구체적인 근거를 파악할 수 있다
- 2026년에도 Cypress가 진짜 강한 분야를 알 수 있다
- Cypress·Playwright·Selenium 3가지 도구 비교표를 얻을 수 있다
👤 이 글을 쓴 사람
QA 엔지니어·테스트 자동화 엔지니어로 15년 이상의 실무 경험 보유. Cypress는 초기 버전부터, Playwright는 릴리즈 직후부터 실무에서 사용. 여러 실제 프로젝트에서 도구 선정과 이전 설계를 경험했다.
2017년 Cypress가 처음 등장했을 때, 그 DX(Developer Experience: 개발자 경험 — 테스트를 얼마나 쉽고 즐겁게 작성할 수 있는가)는 혁명적이었다. 인터랙티브한 테스트 러너, 타임트래블 디버깅, 브라우저 안에서 직접 동작하는 구조 — 프론트엔드 엔지니어를 중심으로 순식간에 퍼져나갔다. 그러나 Playwright가 등장하고 2022년경부터 GitHub Stars가 역전됐다. 「Cypress는 이제 낡았다」는 목소리가 커졌다. 그럼 실태는 어떨까? 솔직하게 정리해보자.
📌 이 글의 결론
- Cypress는 끝나지 않았다 — 다만 신규 E2E 프로젝트에서는 Playwright가 더 많은 기준을 충족한다
- 컴포넌트 테스트와 프론트엔드 DX에서는 Cypress가 아직 강하다
- 신규 E2E 테스트 프로젝트라면 2026년에는 Playwright를 선택할 이유가 더 많다
왜 Cypress가 뒤처지고 있다고 말하는가
비판의 근거는 단순한 유행이 아니라 구체적인 데이터와 기술적 제약에 있다. 살펴보자.
① GitHub Stars·신규 채용 트렌드·State of JS 모두 Playwright 우세
| 도구 | GitHub Stars(집필 시점의 참고값. 변동 있음) | 트렌드 |
|---|---|---|
| Cypress | 약 47,000 | → 성장 둔화 |
| Playwright | 약 67,000 | ↑ 급성장 중 |
| Selenium | 약 31,000 | → 안정 유지 |
GitHub Stars는 하나의 인기 참고 지표일 뿐이다. 매년 실시되는 「State of JS」 조사에서도 2023년 이후 E2E 테스트 카테고리에서 Playwright의 「사용하고 싶다」 점수가 Cypress를 계속 앞서고 있으며, npm 주간 다운로드 수에서도 Playwright의 성장이 두드러진다. 이를 종합하면 신규 채용 트렌드는 Playwright 우세라고 할 수 있다.
단순히 「Microsoft가 만들어서」가 아니다. 기술적 설계가 뛰어난 점이 크다. BrowserContext에 의한 병렬 실행의 격리 설계, Auto-wait에 의한 대기 처리 자동화, 네트워크 가로채기 표준 탑재, 그리고 다언어 대응 — 이것들이 「Selenium의 불만」과 「Cypress의 제약」을 동시에 해소했다. 그것이 급성장의 진짜 이유다.
② Playwright가 해소한 기술적 제약들
| 제약 | 상세 | Playwright는? |
|---|---|---|
| 멀티탭·팝업 처리 | 네이티브로 다루기 어려움(cy.origin()으로 일부 대응 가능하지만 제약 있음) | ✅ 네이티브 지원 |
| 동일 오리진 제한 | 하나의 테스트에서 다른 도메인 이동이 제한됨 | ✅ Cypress 고유 제약이 적다 |
| JS/TypeScript 전용 | Python·Java·C# 팀은 사용 불가 | ✅ 다언어 대응 |
| 대규모 병렬 실행 | 고도의 분산 병렬·시각화에 Cypress Cloud(유료)가 필요 | ✅ Playwright Test(Node.js)는 표준 병렬 지원. Python은 pytest-xdist로 대응 |
| 모바일 대응 | 브라우저 에뮬레이션 중심(네이티브 앱은 범위 밖) | 고기능 브라우저 에뮬레이션 ※ 네이티브 앱은 Appium 영역 |
「기술적 제약이 있고, Playwright가 그것을 해소했다」「신규 채용에서 Playwright를 선택하는 사람이 늘었다」— 이것이 실태다. Cypress가 고장났거나 쓸 수 없게 된 것이 아니라, 경쟁 환경이 바뀐 것이다.
Cypress가 2026년에도 진짜 강한 분야
① 컴포넌트 테스트 — Cypress의 진짜 강점
Cypress Component Testing 기능은 React·Vue·Angular 등의 컴포넌트를 실제 브라우저 환경에서 단위 테스트할 수 있다. Playwright도 따라잡고 있지만, 프론트엔드 엔지니어의 사용 편의성과 DX(테스트 작성과 디버깅의 자연스러움) 측면에서 Cypress가 아직 앞서고 있다.
// Cypress Component Testing(React 컴포넌트를 브라우저에서 직접 테스트)
import { mount } from 'cypress/react'
import LoginForm from './LoginForm'
it('빈 값으로 제출하면 유효성 검사 오류가 표시된다', () => {
mount( )
cy.get('[data-testid="submit-btn"]').click()
cy.get('[data-testid="error-msg"]')
.should('be.visible')
.and('contain', '이메일을 입력해 주세요')
})② 타임트래블 디버깅 — Cypress 최대의 DX 강점
Cypress의 타임트래블 디버깅은 차별화된 강점 중 하나다. 테스트 실행 후 Cypress App에서 각 스텝의 스냅샷을 앞뒤로 이동하며 확인할 수 있다. 디버깅 시간이 대폭 줄어들어 프론트엔드 엔지니어에게 특히 높이 평가받는다.
테스트 실패 후 Cypress App을 열어 각 커맨드에 마우스를 올리면, 그 시점의 DOM 스냅샷이 오른쪽에 표시된다. 어떤 조작에서 무엇이 바뀌었는지 시각적으로 알 수 있어 원인 파악이 압도적으로 빠르다. Playwright의 Trace Viewer도 유사한 체험을 제공하지만, Cypress 버전이 더 직관적이라는 평가를 받는 경우가 많다.
③ JS/TS 프론트엔드 팀에 자연스럽게 도입 가능
Cypress는 완전히 JavaScript/TypeScript로 동작하기 때문에, 프론트엔드 엔지니어가 기존 JS 지식 그대로 테스트를 작성할 수 있다. 「전담 QA 엔지니어 없이 프론트엔드 팀이 직접 테스트를 작성하는」 상황에서는 2026년에도 매우 합리적인 선택이다.
3가지 도구 철저 비교|Cypress vs Playwright vs Selenium
| 항목 | 🌲 Cypress | 🎭 Playwright | 🌐 Selenium |
|---|---|---|---|
| 지원 언어 | JS/TS 전용 | Python/JS/TS/Java/C# | 다언어 대응 |
| 실행 속도 | 🐢 느린 편 | ⚡ 빠름 | 🐢 느린 편 |
| 병렬 실행 | 고도 병렬화에 Cypress Cloud(유료)필요 로컬 병렬은 방법이 있음 | Playwright Test(Node.js)는 표준 병렬 Python은 pytest-xdist로 대응 | pytest-xdist 또는 Selenium Grid |
| 멀티탭·팝업 | 네이티브 조작이 약함 (cy.origin() 등 회피책 있음) | ✅ 네이티브 지원 | ✅ 네이티브 지원 |
| 컴포넌트 테스트 | ◎ 강함 | ○ 대응 가능 | ✕ 비대응 |
| 타임트래블 디버깅 | ◎ 독자적 강점 | △ Trace Viewer로 유사 체험 가능 | ✕ 없음 |
| Auto-wait | ○ 있음 | ◎ 더욱 강력 | △ Explicit Wait 등으로 대응 가능 (표준 자동 대기는 약함) |
| 네트워크 가로채기 | ◎ cy.intercept() | ◎ page.route() | △ 별도 설정 필요 |
| DX(디버깅 속도·UI·학습 비용) | ◎ 매우 높음 (특히 프론트엔드 개발자에게 높은 평가) | ○ 좋음 | △ 익숙해지는 데 시간 필요 |
| 채용 시장(글로벌) | △ 적음 | ○ 빠르게 증가 중 | ◎ 안정적인 수요 |
코드 비교|같은 테스트를 두 도구로 작성
Cypress로 작성한 경우
// Cypress (JavaScript/TypeScript)
describe('로그인 테스트', () => {
it('올바른 인증 정보로 대시보드에 이동한다', () => {
cy.visit('https://example.com/login')
cy.get('#username').type('test_user')
cy.get('#password').type('test_pass')
cy.get('#login-btn').click()
cy.url().should('include', 'dashboard')
cy.get('[data-testid="welcome-msg"]').should('be.visible')
})
})Playwright로 작성한 경우(Python)
from playwright.sync_api import expect
def test_로그인_후_대시보드로_이동한다(page):
page.goto("https://example.com/login")
page.fill("#username", "test_user")
page.fill("#password", "test_pass")
page.click("#login-btn")
page.wait_for_url("**/dashboard")
expect(page.get_by_test_id("welcome-msg")).to_be_visible()기본적인 E2E 테스트에서는 Cypress와 Playwright의 코드 양에 큰 차이는 없다. 실질적인 차이가 드러나는 것은 멀티탭 시나리오·크로스 오리진 플로우·대규모 병렬 실행 같은 고급 시나리오에서다.
Cypress는 2026년에도 실제로 채택되고 있는가
신규 채용은 둔화되고 있지만, Cypress가 사라진 것은 아니다. 실제 채용 상황을 정리하자.
| 팀·조직 특성 | Cypress 채택 상황 |
|---|---|
| 스타트업(JS/TS 프론트엔드 중심) | 현역 채택 다수. DX와 낮은 온보딩 비용이 평가됨 |
| 엔터프라이즈(다언어 환경) | JS/TS 전용이라는 제약이 장벽이 돼 Selenium이나 Playwright가 선택되기 쉬움 |
| 대규모 조직(다팀 환경) | 컴포넌트 테스트에 Cypress, E2E에 Playwright를 병용하는 패턴이 늘고 있음 |
| 프론트엔드 전문 팀(React/Vue) | Component Testing DX가 높이 평가돼 2026년에도 신규 채택 있음 |
「E2E 테스트 도구로서의 Cypress」는 신규 채택이 둔화되고 있다. 하지만 「컴포넌트 테스트 도구 + 프론트엔드 DX 향 브라우저 테스트 도구」로서는 2026년에도 충분히 현역이다. 선택하는 이유를 명확히 말할 수 있다면 채택은 정당화된다.
팀 구성별 추천 도구
| 팀 구성 | 추천 도구 | 이유 |
|---|---|---|
| FE 주도(React/Vue·JS/TS 통일) | Cypress | 컴포넌트 테스트·DX·언어 통일의 이점이 최대화 |
| QA 주도(Python 중심·pytest 활용) | Playwright | Cypress는 JS/TS 전용. Python 팀은 Playwright 또는 Selenium |
| 다언어 엔터프라이즈(Java/C# 혼재) | Selenium / Playwright | Cypress의 언어 제약이 장벽이 돼 대상 외 |
| FE+QA 혼재·신규 E2E 프로젝트 | Playwright | 속도·병렬·크로스 오리진·다언어에서 가장 유연 |
이전 판단 체크리스트|Cypress → Playwright
| 체크 항목 | 점수 |
|---|---|
| Cypress Cloud 비용이 팀 확대와 함께 늘고 있다 | YES → +2점 |
| 멀티탭·크로스 오리진을 포함한 테스트 시나리오가 필요하다 | YES → +2점 |
| Python·Java·C# 팀에도 테스트를 확대하고 싶다 | YES → +2점 |
| Flaky Test가 빈발하고 있다(예: 주 3건 이상) ※ 어디까지나 예시. CI 빈도·테스트 건수·병렬 수·환경 차이에 따라 기준은 크게 다름 | YES → +1점 |
| 기존 Cypress 테스트 수가 100건 이하다 | YES → +1점 |
| Cypress Component Testing을 적극적으로 활용하고 있다 | YES → −1점 |
🔑 판단 기준
- 4점 이상: 이전을 적극적으로 검토해야 한다
- 2~3점: 부분 이전(새 테스트는 Playwright로 작성하고 기존 Cypress는 유지)을 검토
- 0~1점: 지금 당장 이전할 이유는 없다. Cypress의 DX 강점을 살리는 편이 효율적
Cypress를 선택하면 곤란해지는 시나리오
- OAuth 로그인·SSO(다른 도메인으로의 리다이렉트를 포함한 인증 플로우)
- 결제 화면(Stripe 등의 외부 도메인 iframe이나 팝업)
- 여러 탭을 동시에 조작하는 시나리오
- 브라우저 알림·파일 다운로드 검증
- Python·Java·C# 팀으로의 확대
- Trace Viewer 사용법에 익숙해지기까지 다소의 학습 비용이 든다
- Python 사용자는 pytest fixture·conftest.py 설계를 이해해야 한다
- Cypress의 타임트래블 UI와는 디버깅 체험이 달라진다
- Cypress Component Testing을 활용하고 있었다면 대안 설계가 필요하다
현장에서는 「Cypress를 전면 급이전하는」 케이스는 드물다. 많은 팀이 채택하는 것은 「새 E2E 테스트는 Playwright로 작성하기 시작하고, 기존 Cypress는 단계적으로 이전하는」 패턴이다. 특히 대규모 프로젝트에서는 전면 리라이트보다 부분 이전의 ROI가 높은 경우가 많다. 컴포넌트 테스트는 Cypress를 유지하면서 E2E만 Playwright로 이전하는 팀도 늘고 있다.
✅ Cypress를 계속 사용하는 것이 합리적인 케이스
- React/Vue 컴포넌트 테스트를 실제 브라우저에서 작성하고 있다
- 팀이 JS/TS로 통일되어 있고 언어를 늘리고 싶지 않다
- 타임트래블 디버깅이 일상적인 워크플로우의 일부다
- E2E 테스트 규모가 작고 멀티탭·크로스 오리진 문제가 생기지 않는다
- 기존 Cypress 코드가 대량으로 있어 이전 비용이 맞지 않는다
📖 관련 글
FAQ|자주 묻는 질문
Q. Cypress는 Playwright에 완전히 진 건가요?
신규 E2E 프로젝트 채택이라는 관점에서는 Playwright가 우세해지고 있는 것은 사실이다. 하지만 「완전히 졌다」는 과한 표현이다. Cypress는 컴포넌트 테스트·프론트엔드 개발자 DX·JS/TS 팀 친화성에서 아직 강점을 갖고 있다. 「용도에 따른 사용 구분」이 정확한 표현이다.
Q. Cypress Cloud(유료)를 쓰면 병렬 실행 문제는 해결되나요?
기술적으로는 해결된다. 하지만 팀이 커질수록 비용이 늘어나는 구조적 문제는 남는다. Playwright가 무료로 할 수 있는 것에 비용이 들기 때문에, 「Cypress의 DX를 그 비용에 상응하는 가치로 볼 수 있는가」라는 ROI 판단이 된다. 소규모 팀이나 개인 프로젝트라면 Cloud 없이도 충분히 운용할 수 있는 범위도 있다.
Q. 2026년에 Cypress를 새로 배울 가치가 있나요?
JS/TS 프론트엔드 엔지니어로서 컴포넌트 테스트까지 포함해 브라우저 테스트를 작성하고 싶다면 가치가 있다. 반면 Python을 사용하는 QA 엔지니어로 커리어를 쌓고 싶다면, Playwright와 Selenium을 먼저 익히는 것이 채용 시장과 맞는 합리적인 선택이다. Cypress에서 시작하면 Playwright의 Auto-wait 설계의 가치를 체감 수준으로 이해하기 쉬워지는 장점도 있다.
Q. Cypress는 앞으로 없어지게 될까요?
없어지지 않는다. Cypress는 npm 주간 다운로드 수를 안정적으로 유지하고 있으며, 개발·유지보수도 계속되고 있다. 신규 E2E 채택은 Playwright로 이동하고 있지만 Cypress가 사라지는 것은 아니다. 「컴포넌트 테스트·JS/TS 우선 팀」이라는 용도로 포지션을 좁혀가는 변화라고 보는 것이 정확하다.
Q. 팀에서 Cypress와 Playwright를 동시에 사용해도 되나요?
괜찮다. 「컴포넌트 테스트는 Cypress, E2E는 Playwright」는 이전 과도기가 아닌 장기적인 아키텍처로도 충분히 합리적이다. 하나의 도구로 모든 것을 해결해야 한다는 압박을 느낄 필요는 없다. 각 도구가 가장 잘하는 것을 하도록 하면 된다.
Q. Cypress 경험은 이직·커리어에서 평가받나요?
평가받는다. 특히 프론트엔드 중심 기업이나 JS/TS 통일 스타트업에서는 지금도 Cypress 경험을 환영하는 곳이 있다. 더 폭넓은 QA 커리어를 목표로 한다면 Playwright나 Selenium도 병행해서 익혀두면 선택지가 넓어진다.
마치며
🔑 「Cypress는 끝났나?」에 대한 최종 답변
Cypress는 끝나지 않았다. 하지만 신규 E2E 테스트 프로젝트에서 아무 고민 없이 선택되던 도구는 더 이상 아니다. Playwright가 더 많은 상황에서 더 많은 기준을 충족하는 지금, Cypress를 선택하는 이유를 명확히 말할 수 있어야 한다 — 그럴 수 있다면 계속 써도 된다.
📋 이 글의 정리
- 「뒤처지고 있다」는 근거: GitHub Stars 역전·신규 채용 트렌드·State of JS 데이터
- Cypress의 현역 강점: 컴포넌트 테스트·타임트래블 디버깅·JS/TS 팀 친화성
- 신규 E2E 프로젝트·Python/Java 환경·병렬화 비용 중시라면 Playwright가 합리적
- 올바른 질문: 「어느 도구가 유행하고 있는가」가 아닌 「내 팀에 무엇이 필요한가」
이 글의 비교표·팀 유형별 가이드·이전 체크리스트를 사용해 자신의 상황에 맞는 근거 있는 선택을 해주시기 바란다.

