Z Cypressu na Playwright: vyplatí se migrovat?
Cypress i Playwright jsou moderní nástroje pro testování webu a oba jsou kvalitní – toto není příběh mrtvého nástroje, který je třeba opustit. Cypress však na několik věcí naráží, a pokud váš tým na tyto překážky skutečně narazí, migrace na Playwright dává smysl. Klíčové slovo je „skutečně“ – bez reálného důvodu není co řešit.
V čem je problém
V Cypressu se testy píšou příjemně a nástroj má silnou komunitu. Jeho architektura však přináší omezení, na která část týmů dříve či později narazí:
- Více karet a oken. Playwright pracuje přímo s několika stránkami v jednom kontextu. Cypress se soustředí na jednu kartu, proto takové scénáře vyžadují jiný návrh testu.
- Více domén v jednom testu. Cypress je podporuje pomocí
cy.origin(), ale se zvláštními pravidly. Playwright umožňuje pracovat přímo s více doménami a kontexty. - Paralelní běh. Open-source Playwright Test obsahuje lokální workery a rozdělení sady na části. Cypress umí testy spouštět paralelně také; jeho řízené rozdělování mezi několik CI strojů je součástí Cypress Cloud. Náklady na CI infrastrukturu vznikají u obou možností.
- Prohlížeče. Playwright podporuje projekty pro Chromium, Firefox a WebKit. To není totéž jako test v každé konkrétní verzi Safari, proto je třeba výběr prohlížečů přizpůsobit uživatelům.
Pokud na nic z toho nenarážíte a sada funguje, není třeba nic měnit. Migrace dává smysl až tehdy, když vás omezení reálně brzdí.
Jak to řešíme
Pokud se přechod vyplatí, postupujeme stejně jako u každé portace: nepřekládáme řádek po řádku, ale přenášíme scénáře a ověření – to hodnotné, co v testech je. Postavíme je na Page Object Modelu a stabilních identifikátorech, aby nová sada nezdědila slabá místa té staré.
Přenos probíhá postupně a stará i nová sada mohou běžet vedle sebe. Mapa pokrytí přitom určuje, která sada kontroluje jednotlivé regresní scénáře. Stejně jako při výběru mezi Playwrightem a Selenium rozhoduje konkrétní případ, ne obecná preference.
Co z toho máte
- Jasnou odpověď, zda se migrace ve vašem případě vyplatí – bez tlaku měnit něco, co funguje.
- Pokud ano: přenos, který zachová scénáře a odstraní omezení, na která jste naráželi.
- Dohodnuté kritické regresní scénáře průběžně přiřazené staré nebo nové sadě.
Další krok
Sepište konkrétní omezení současné sady, dobu běhu a náklady na její údržbu. Na nezávazné konzultaci porovnáme tyto údaje s náklady na migraci.