Visuaalne regressioonitestimine Playwrightiga Drupali töövoos
🎧 Kuula kõiki artikleid järjest
Tavaline automaattest kontrollib, kas nupp töötab. Visuaalne regressioonitestimine Playwrightiga näitab enne juurutust, kas Drupali uuendus nihutas vormi, menüü, fookuse või olulise komponendi valesse kohta.
Kuidas see töötab
Playwright (avaneb uues aknas) avab lehe brauseris, teeb ekraanipildi ja võrdleb seda salvestatud lähtepildiga. Kui pikslite erinevus ületab lubatud läve, test ebaõnnestub. Drupali hoolduses on see kasulik enne tuuma, moodulite või teema uuenduse avaldamist.
Esimesel käivitamisel luuakse võrdlusalus ehk lähtepilt. Edaspidi võrreldakse kõiki uusi pilte sellega. Kui kujundus muutub tahtlikult, uuendatakse lähtepilti käsitsi.
Visuaalne testimine aitab, kui:
- disain muutub sageli;
- sait peab töötama mobiilil ja lauaarvutil;
- komponendid tulevad mitmest süsteemist;
- varasemad avaldamised põhjustasid paigutusvigu;
- ligipääsetavus sõltub nähtavast fookusest ja loetavast tekstist.
Mida liiga palju testida ei tasu
Mitte iga lehekülg ei vaja ekraanipiltide võrdlemist. Parem on alustada kriitiliste teekondadega: avaleht, vorm, ostukorv, teenuseleht ja üks sisukas leht.
Ekraanipiltide testid on tundlikud pisikeste muutuste suhtes — näiteks fondivärskendus, ikoon või kosmeetiline paigutusmuutus. Kui testid ebaõnnestuvad liiga sageli ilma tõelise veata, kaotavad need usalduse. Hea reegel: testi ainult seal, kus visuaalne regressioon maksab rohkem kui vale alarm.
Lõimimine CI/CD töövoogu
Kõige rohkem kasu tekib siis, kui visuaalsed testid käivitatakse automaatselt iga muudatuse järel. Playwright saab need käivitada taustarežiimis: brauseriakent ei avata ning testid töötavad ka CI-serveris.
Tüüpiline seadistus:
- Lähtepildid salvestatakse repositooriumis.
- Iga muudatuse järel võrreldakse pilte CI-s.
- Erinevuse korral saab arendaja visuaalse võrdluse, mis näitab muutunud ala.
- Tahtliku muudatuse korral uuendatakse lähtepilti ja muudatus salvestatakse versioonihaldusse.
WebPro kasutab visuaalseid kontrolle automaattestimise osana siis, kui need tegelikult vähendavad avaldamisriski. Drupali projektides sobivad need hästi hoolduse, Drupali auditi ja suuremate Drupali uuenduste juurde.

Vajad Drupal abi?
Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.