Cypress vs Playwright v 2026 — ktorý vybrať pre tvoj projekt
Pred 3 rokmi bola odpoveď jednoduchá: Cypress pre DX, Playwright pre cross-browser. V 2026 je to zložitejšie — Cypress má Chromium, Firefox aj WebKit, Playwright má retry logic a UI mode, obidva robia rovnakú paralelizáciu. Rozdiel je v detailoch, ktoré rozhodnú na tvojom projekte.
Tento článok je konkrétna decision matrix — nie abstraktné „záleží". Po prečítaní budeš vedieť, ktorý vybrať pre tvoj stack, a prečo.
TL;DR — rýchly verdict
| Tvoj scenár | Odporúčanie |
|---|---|
| SPA, Chrome-first, začínate QA automatizáciu | Cypress |
| Safari/WebKit testy sú dôležité (FinTech, e-commerce EU) | Playwright |
| Parallel test run v CI s 50+ testami | Playwright (zdarma) / Cypress Cloud (platená) |
| Team s 0 JS skúsenosťou | Cypress (chained API je intuitívnejšia) |
| Mobile web (responsive testing emulácia) | Playwright |
| Component testing React/Vue/Svelte | Cypress (zrelší Component runner) |
Architektúrny rozdiel — prečo to rozhoduje
Najdôležitejšie porozumieť je, ako oba testujú:
- Cypress beží v prehliadači — test runner je injektovaný do page, má priamy prístup do DOM, window, localStorage. Žiadny network layer medzi testom a appkou. Dôsledok: extrémne rýchle queries, ale nemôžeš ľahko testovať multi-tab scenáre, cross-origin, alebo iframe z inej domény.
- Playwright beží mimo prehliadač — komunikuje s Chromium/Firefox/WebKit cez Chrome DevTools Protocol (CDP) alebo ekvivalent. Dôsledok: multi-tab, multi-origin, file download intercept, network stubbing full HTTP stack. Ale každý query je asynchrónny, čo spomaľuje lokálne iterácie.
V praxi: na väčšine B2B SaaS projektov Cypress stačí. Na e-commerce s payment gateway popup-om, OAuth popup-om a iframe-om Playwright vyhráva.
Rýchlosť (reálne merania)
Benchmark z nášho posledného projektu — 42 E2E testov, rovnaký test suite napísaný v oboch nástrojoch:
- Lokálne, sériovo: Cypress 3 min 12 s. Playwright 2 min 48 s.
- Lokálne, paralelne (4 workers): Cypress N/A bez Cloud. Playwright 58 s.
- CI (GitHub Actions, 4 shards): Cypress 1 min 45 s (s Cypress Cloud). Playwright 1 min 12 s (zadarmo).
Playwright je v priemere 15–30 % rýchlejší pri rovnakom scope. Ale Cypress samotné spustenie (cold start) je rýchlejšie — Playwright bootstrap trvá ~3 sekundy dlhšie per run.
API — kde ťa to reálne chytí
Cypress (chained, retry-friendly, žiadny await):
cy.get('[data-testid="email"]').type('user@example.com');
cy.get('[data-testid="submit"]').click();
cy.url().should('include', '/dashboard');
Playwright (async/await, explicit lokátor):
await page.getByTestId('email').fill('user@example.com');
await page.getByTestId('submit').click();
await expect(page).toHaveURL(/\/dashboard/);
Cypress vyhráva v developer experience pre nováčikov. Žiadne await, žiadne race conditions — framework čaká sám. Playwright vyhráva v mocných lokátoroch — `getByRole`, `getByText`, `getByLabel` zodpovedajú a11y best practices a sú menej fragilné než data-testid.
Po 2-3 mesiacoch sa rozdiel v DX zmenšuje — obe sa naučia dobre.
Cross-browser — veľká zmena v 2026
Cypress dlho chýbalo WebKit (Safari). V 2026 má oficiálnu WebKit podporu cez Playwright engine pod povrchom. Takže obidva nástroje vedia rovnaké: Chromium + Firefox + WebKit.
Rozdiely:
- Playwright: WebKit + Firefox z boxu, stable, rýchle. Plus real iOS Safari cez BrowserStack integráciu.
- Cypress: WebKit stále experimentálna, občasné flaky testy. Firefox stabilný. Real Safari len cez BrowserStack alebo SauceLabs (extra subscription).
Pre projekty, kde iOS Safari traffic je >10 %, Playwright má stále technologický náskok.
CI/CD a paralelizácia
Kľúčový rozdiel v platení:
- Cypress paralelizácia bez Cypress Cloud — extrémne zložitá, custom shard logika. Prakticky každý platí Cypress Cloud ($75/user/mes pre Team, $300+/mes pre Business).
- Playwright paralelizácia — natívne, zdarma. `npx playwright test --shard=1/4` a je to.
Pre malé tímy s <100 testami je Cypress Cloud zanedbateľná položka. Pre stredné firmy s 500+ testami sa Playwright ušetrí 900–3 600 € ročne len na subscription-e.
Debugging tooling
Obe majú vynikajúci tooling, ale s dôrazmi:
- Cypress Test Runner — interactive GUI, time-travel debugger, snapshot hotovo pre každý step. Bez porovnania najlepšie pre „prečo ten test padá" iteráciu.
- Playwright UI Mode + Trace Viewer — vyrovnalo sa. Plus trace soubor môžeš otvoriť offline (Cypress to nemá). Playwright ma jedinečný codegen — `npx playwright codegen` zaznamená tvoje klikanie do hotového test kódu.
Ekosystém pluginov a komunita
Cypress má staršiu komunitu — ~550 npm plugin-ov k 2026, všetko od Axe a11y po Lighthouse. Playwright má oficiálne menej, ale viac vstavaných features priamo v core (screenshots, videos, HAR recording, network mocking bez extra plugin-u).
Praktický signál: v Stack Overflow máme za 2025 rok:
- Cypress otázok: ~12 400 (stabilný objem 3 roky)
- Playwright otázok: ~18 900 (+48 % YoY)
Trend jasný: Playwright rastie rýchlejšie, Cypress zostáva zrelý a stabilný.
Kedy Cypress jednoznačne vyhráva
- Component testing React/Vue/Svelte/Angular komponentov. Cypress Component Runner je úplne zrelší než Playwright Component Testing (ktoré je stále experimentálne).
- Team, ktorý prvýkrát píše testy. Chained API + Test Runner je jednoducho priateľskejšie.
- Malé SPA bez cross-origin komplikácií. Rýchlejšie lokálne iterácie, lepšia DX.
- Existujúce investície v Cypress ekosystéme (Axe plugin, custom commands knižnica, školenie tímu).
Kedy Playwright jednoznačne vyhráva
- Cross-browser dôležitý (iOS Safari, Firefox user-base >10 %).
- Multi-tab / multi-origin scenáre — OAuth, payment popup, iframes z inej domény.
- Veľká paralelizácia v CI bez platenej Cloud subscription.
- API + E2E v jednom frameworku — Playwright's `request` fixture je prvotriedny, Cypress intercept je funkčný ale komplikovanejší.
- Python / .NET / Java tím — Playwright má native bindings pre všetky, Cypress je čisto JS.
Hybridný prístup (čo reálne robíme my)
Pre stredné projekty často kombinujeme: Cypress na Component testing (izolované unit-level UI testy), Playwright na E2E (cross-browser, CI-heavy workflow). To dáva najlepšie z oboch svetov a rozdeľuje feedback loop podľa bolesti:
- Cypress Component — rýchly feedback pre developera pri zmene komponentu
- Playwright E2E — definícia správania z pohľadu užívateľa, cross-browser safety net
Cena takej dvojnástrojovej architektúry je ~10 % navyše oproti single tool setupu (samostatné konfigurácie), ale ROI je výrazne vyšší.
Migrácia Cypress → Playwright (alebo naopak)
Ak máš 50–100 existujúcich testov a zvažuješ prechod, väčšinou sa neoplatí kompletne migrovať. Náš typický pattern: nové testy píšeme v novom tooli, existujúce necháme bežať kým aplikácia nevyžaduje zmenu. Bridge má typicky 6-12 mesiacov kým prirodzene dožije.
Detailne sme to popísali v Koľko stojí automatizácia testov v 2026 — sekcia „Migrácie a prechody".
Čo odporúčame klientom v 2026
Default voľba pre nový projekt: Playwright. Je rýchlejší, cross-browser out-of-the-box, paralelizácia zadarmo. Rozdiely v DX sú menšie než pred 2 rokmi.
Výnimky, kedy odporúčame Cypress:
- Component testing má byť primárna forma pokrytia
- Team je QA-first (nie dev-first) a chce intuitívny tooling
- Stack je pure Chromium (interná aplikácia bez Safari používateľov)
Ak chceš rozhodnúť pre tvoj konkrétny projekt, dohodni si 30-minútový discovery call — prejdeme tvoj stack, team skills, deployment pipeline a dostaneš odporúčanie + fix rozpočet za 48 h. Zadarmo.