Automatické testování webových aplikací pomocí Cypress
Náročnost a komplexnost webových aplikací postupem času roste a s tím i riziko možných chyb. Především u dlouhodobých projektů, které se postupně vyvíjí, se můžeme setkat s tím, že nám najednou přestane fungovat něco, co kdysi fungovalo. Určitě je dobré mít takové aplikace pokryté UNIT testy, které nám zajistí část úspěchu a dokáži testovat konkrétní funkční věci aplikace. Na některé věci jsou však i UNIT testy krátké, především co se frontendu týče – a s tím nám pomůže právě Cypress, který umožňuje end to end testování (integrační testy).
Dlouhá léta už je tu s námi Selenium, které tohle nabízí. Jeho použití ale už není zrovna příjemné a plně dostačující. Cypress naopak vše posunul na novou úroveň a na rozdíl od jiných konkurenčních nástrojů nevyužívá Selenium jako své jádro, ale byl vytvořen kompletně „na zelené louce“. Díky tomu si může jít vlastní cestou a nabízí propracované UI a psaní samotných testů.
V tomto úvodním článku si ukážeme, jak cypress nainstalovat a spustit. V dalších kapitolách tohoto seriálu se vrhneme na samotné psaní testů a ukážeme si, jak Cypress využít prakticky v naší webové aplikaci tak, aby nám byl velkým pomocníkem.
Instalace Cypress pomocí npm
Možností, jak nainstalovat Cypress je několik. Vzhledem k tomu, že jsem frontedista a téměř na každém projektu používám npm pro správu balíčků, vydám se právě touto cestou. Nainstalovat Cypress můžeme jednoduše následujícím příkazem do konzole (podobně můžeme nainstalovat Cypress za využití Yarn).
Tímto se nám Cypress nainstaluje lokálně pro náš projekt a můžeme ho vesele používat. Nyní nám už zbývá jen ho spustit a užít si ho naplno. Nejsnadnějším způsobem je spustit ho přímo následujícím příkazem:
Po spuštění toho příkazu se nám spustí krásné UI s přehledem testů, které můžeme spustit. Po vybrání testu, který chceme spustit, se nám spustí běh testu v prohlížeči Electron, který je postaven na Chromium. Co mě mile překvapilo, je plynulost a rychlost prostředí, se kterým se opravdu dobře pracuje.
O tom, jak psát vlastním testy si řekneme v dalším článku tohoto seriálu.