024.lv — automatizēta QA platforma tīmekļa paneļiem
Pašlaik izstrādē. 024.lv automatizē serveru vadības paneļa pārbaudi: pārlūko sadaļas, atrod saskarnes un tīkla kļūdas, saglabā rezultātus un veido pārskatāmus HTML un JSON ziņojumus.
024.lv jeb Berg Panel Tester radās no praktiskas vajadzības regulāri pārbaudīt apjomīgu serveru vadības paneli pēc izmaiņām un atjauninājumiem. Manuāla desmitiem sadaļu pārskatīšana aizņem daudz laika un viegli atstāj nepamanītu bojātu saiti, JavaScript kļūdu vai saskarni, kas iestrēgusi ielādes stāvoklī. Izveidotais rīks šo procesu pārvērš atkārtojamā kvalitātes kontroles ciklā.
Uzdevums
Bija nepieciešams droši autorizēties testējamajā panelī, iziet tā galvenos moduļus un novērtēt ne tikai HTTP atbildi, bet arī to, ko patiesībā redz operators. Pārbaudei bija jāaptver tīmekļa hostings, datubāzes, pasts, DNS un tīkls, failu glabāšana, sistēmas rīki, SSH, drošība un administrēšana. Rezultātam bija jābūt noderīgam gan pārskatam pārlūkā, gan turpmākam izstrādātāja darbam.
Kas ir īstenots
- Playwright pārlūka scenāriji ar autorizāciju un automātisku sesijas atjaunošanu.
- Navigācijas analīze, kas atrod jaunas paneļa sadaļas ārpus esošā manifesta.
- Desmit līmeņu pārbaude PHP un kļūdu lapām, tukšam saturam, navigācijai, virsrakstiem, ātrdarbībai, ielādes indikatoriem, JavaScript, tīkla pieprasījumiem un interaktīvajiem elementiem.
- Cilvēkam līdzīga mijiedarbība: ritināšana, hover, meklēšanas lauka ievade un bojātu attēlu noteikšana.
- Semantiskas pārbaudes tabulām, formām, statusiem, metrikām, datumiem, cilnēm, lapošanai un API atbildēm.
- Rezultātu glabāšana MySQL ar atsevišķām sesijām, lapām, atradumiem, konsoles un tīkla kļūdām.
- Filtrējami HTML ziņojumi ar grafikiem un strukturēts JSON ar prioritātēm un labošanas norādēm.
Arhitektūra un kontrole
Testēšanas kodols ir veidots Python valodā, pārlūka automatizācijai izmantojot Playwright. Dati tiek saglabāti MySQL, HTML pārskatus veido Jinja2 un Chart.js, savukārt ar PHP veidotais, ar piekļuvi aizsargātais vadības panelis ļauj palaist pārbaudi, sekot progresam un atvērt iepriekšējos rezultātus. Palaišanas parametrus var sašaurināt pēc sadaļu grupas, prioritātes vai tikai jaunatklāto moduļu meklēšanas.
Rezultāts
Komanda vienā ekrānā redz pārklājumu, pārbaudīto lapu stāvokli, problēmu sadalījumu pēc svarīguma un konkrētus ieteikumus katram atradumam. Vēsturiskie ziņojumi saglabā izmaiņu pēdas un palīdz ātrāk pamanīt regresijas pēc jaunas versijas izvietošanas.
Projekts ir aktīvā izstrādē: pamata pārbaudes un ziņošana jau tiek izmantotas, bet scenāriji un semantiskās pārbaudes tiek papildinātas līdz ar vadības paneļa attīstību.