Služby · Testovanie desktop aplikácií
Automatizované testovanie desktop aplikácií
Skrátime opakované ručné kontroly vašej Windows alebo Electron aplikácie pomocou stabilných automatizovaných testov. Navrhneme ich architektúru, zapojíme ich do pravidelného spúšťania a podľa dohody sa postaráme aj o údržbu. Riešenie staviame na overených open-source nástrojoch a odovzdáme ho vášmu tímu.
- pywinauto
- FlaUI
- Playwright
O službe
Desktop nemusí znamenať manuálne testovanie
Desktop aplikácie sa často testujú výhradne ručne, pretože ich automatizácia je náročnejšia než pri webe. Pri dlhých kontrolách pred desktop releasmi však môže automatizácia ušetriť významnú časť opakovanej práce.
Automatizujeme natívne Windows aplikácie (WPF, WinForms, Win32, WinUI) aj aplikácie postavené na Electrone. Podľa technológie pracujeme cez Windows UI Automation, Win32 alebo rozhranie Electron aplikácie a uprednostňujeme vlastnosti prvkov pred porovnávaním obrázkov.
Výsledkom je sada automatizovaných kontrol, ktorú môžete spúšťať opakovane – na lokálnom stroji, vo virtuálnom prostredí alebo v CI.
Jednoduchý vstup
Čo od vás potrebujeme
- Od vás stačí poznať scenár, ktorý má riešenie pokrývať, a vedieť si ho v aplikácii manuálne preklikať.
- Znalosť automatizácie ani nástrojov nie je potrebná – stačí, že viete, čo má aplikácia robiť.
- Prístup do kódu nie je podmienkou; vieme pracovať voči vášmu testovaciemu prostrediu.
- Ak scenáre nemáte zdokumentované, pripravíme ich spolu s vami – stačí poznať používateľské cesty.
- Technickú analýzu, výber nástroja, implementáciu a dohodnutý spôsob spúšťania zabezpečíme my. Rozsah priebežnej údržby si dohodneme osobitne.
Čo získate
Čo vám automatizácia desktopu prinesie
Kratšie kontroly pred releasom
Opakované kontroly môžu bežať automaticky cez noc alebo pri vybraných buildoch. Konkrétny čas závisí od rozsahu sady, prostredia aj infraštruktúry.
Opakovateľnosť a presnosť
Pri rovnakých podmienkach vykoná automat ten istý scenár konzistentne, bez preklepov a vynechaných krokov, takže sa výsledky behov dajú lepšie porovnať.
Testy odolnejšie voči zmenám vzhľadu
Podľa technológie používame Windows UI Automation, Win32 alebo rozhranie Electron aplikácie a uprednostňujeme stabilné vlastnosti prvkov pred súradnicami na obrazovke.
Pokrytie inštalácií a aktualizácií
Automatizovať vieme aj inštaláciu, aktualizáciu a migráciu dát – scenáre, ktoré sa ručne testujú najťažšie a pri opakovaných releasoch zaberajú veľa času.
Ako to prebieha
Možný priebeh spolupráce
Konkrétne kroky a ich poradie prispôsobíme vašej situácii, dostupným podkladom a dohodnutému výstupu.
-
Technická analýza aplikácie
Overíme technológiu aplikácie, dostupné automatizačné rozhranie a stabilné vlastnosti prvkov. Ak treba doplniť napríklad automation ID, pripravíme konkrétne odporúčania.
-
Pilot na kľúčovom scenári
Na kľúčovom scenári overíme vhodnosť a stabilitu technického prístupu ešte pred tvorbou celej sady. Zároveň navrhneme štruktúru, ktorú bude možné udržiavať.
-
Implementácia a spúšťanie
Postupne pokrývame scenáre podľa priority a pripravíme dohodnutý spôsob spúšťania – lokálne, na virtuálnych strojoch alebo podľa možností v CI.
-
Odovzdanie a údržba
Odovzdáme dokumentáciu, zaškolíme tím a dohodneme pravidlá údržby. Testy môžete spravovať sami alebo ich podľa dohody upravujeme pri nových verziách.
Nástroje a postupy
Nástroje a pracovné postupy volíme podľa konkrétneho riešenia
Pri výbere uprednostňujeme open-source nástroje, ak sú vhodné pre danú službu, vaše prostredie a spôsob prevádzky. Ak riešenie využíva komponent s inou licenciou, platenú cloudovú službu alebo externú infraštruktúru, podmienky a náklady uvedieme v ponuke. Spôsob odovzdania výstupov a vytvoreného kódu dohodneme podľa typu služby.
-
pywinauto
Open-source základ pre automatizáciu natívnych Windows aplikácií v Pythone. Podporuje UI Automation aj Win32; vhodný backend vyberieme podľa technológie aplikácie.
-
FlaUI
Voľba, keď potrebujeme robustný prístup k prvkom v zložitom .NET rozhraní. Stavia na .NET a Windows UI Automation a podporuje rôzne technológie rozhrania.
-
Playwright (Electron)
Playwright podporuje automatizáciu Electron aplikácií, hoci ju dokumentácia označuje ako experimentálnu. Vhodnosť pre konkrétnu aplikáciu preto overíme pilotom.
-
GitHub Actions
Testy môžeme spúšťať pri vybraných buildoch alebo podľa plánu, aby tím dostával pravidelnú kontrolu kľúčových scenárov bez ručného preklikávania.
Hlbšie k téme
Ak sa chcete dozvedieť viac
-
Ako testovať inštaláciu, aktualizáciu a migráciu dát
Používateľ sa k funkciám desktopovej aplikácie nedostane, ak zlyhá už inštalácia alebo aktualizácia.
-
pywinauto alebo FlaUI: ako vybrať nástroj pre Windows
pywinauto aj FlaUI sú open-source nástroje na ovládanie používateľského rozhrania vo Windows.
-
Prečo nestavať desktopové testy na súradniciach a obrázkoch
Nahratie kliknutí je rýchly spôsob, ako vytvoriť prvý automatizovaný scenár. Ak si však test pamätá iba pozíciu kurzora alebo obrázok tlačidla, reaguje na vzhľad obrazovky, nie na význam prvku.
-
Ako testovať Electron aplikáciu, nielen jej webové rozhranie
Electron aplikácia používa webové technológie, ale používateľ ju spúšťa ako desktopový program.
-
Ako automatizovať testy staršej desktopovej aplikácie
Staršia, teda legacy aplikácia môže roky zabezpečovať fakturáciu, sklad alebo výrobu, hoci jej dokumentácia už nie je úplná a pôvodní autori nie sú k dispozícii.
-
Dá sa automatizovať testovanie WPF a WinForms aplikácií?
WPF a WinForms aplikácie sa dajú automatizovane testovať, ak ich ovládacie prvky poskytujú dostatok stabilných informácií.
-
Ako spúšťať WPF a WinForms testy v CI na Windows runneri
WPF alebo WinForms test môže prechádzať na pracovnom počítači a po presune do CI, teda automatizovaného procesu zostavenia a kontroly zmien, nenájde okno aplikácie.
Poďme sa pozrieť na váš konkrétny prípad
Stručne nám opíšte, čo chcete preveriť alebo automatizovať, aký systém či proces používate a čo vás dnes najviac obmedzuje. Ozveme sa s návrhom vhodného ďalšieho kroku.