Porovnanie nástrojov

Cypress vs Playwright v 2026 — který vybrat pro tvůj 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áciuCypress
Safari/WebKit testy sú dôležité (FinTech, e-commerce EU)Playwright
Parallel test run v CI s 50+ testamiPlaywright (zdarma) / Cypress Cloud (platená)
Team s 0 JS skúsenosťouCypress (chained API je intuitívnejšia)
Mobile web (responsive testing emulácia)Playwright
Component testing React/Vue/SvelteCypress (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

  1. Component testing React/Vue/Svelte/Angular komponentov. Cypress Component Runner je úplne zrelší než Playwright Component Testing (ktoré je stále experimentálne).
  2. Team, ktorý prvýkrát píše testy. Chained API + Test Runner je jednoducho priateľskejšie.
  3. Malé SPA bez cross-origin komplikácií. Rýchlejšie lokálne iterácie, lepšia DX.
  4. Existujúce investície v Cypress ekosystéme (Axe plugin, custom commands knižnica, školenie tímu).

Kedy Playwright jednoznačne vyhráva

  1. Cross-browser dôležitý (iOS Safari, Firefox user-base >10 %).
  2. Multi-tab / multi-origin scenáre — OAuth, payment popup, iframes z inej domény.
  3. Veľká paralelizácia v CI bez platenej Cloud subscription.
  4. API + E2E v jednom frameworku — Playwright's `request` fixture je prvotriedny, Cypress intercept je funkčný ale komplikovanejší.
  5. 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, domluv si 30-minútový discovery call — prejdeme tvoj stack, team skills, deployment pipeline a dostaneš odporúčanie + fix rozpočet za 48 h. Zadarmo.