Testovanie UI aplikácie
OpenFactory vie spúšťať znovu použiteľné workflow v prehliadači v spravovaných desktop tester VMs. Aplikáciu môže nasadiť OpenFactory, alebo môže bežať kdekoľvek, kam tester VM dosiahne.
Scenáre kombinujú sémantické akcie ako open, click, type, key, wait a assert so snímkami obrazovky, diagnostikou prehliadača a zaznamenaným verdiktom. Hodia sa pre známy používateľský flow; pre obmedzený prieskum použite autonomous walker.
Vytvorenie a spustenie scenára
Získajte tester VM aplikácie:
ensure_tester_vm(app="my-app", app_url="https://staging.example.com")Potom uložte scenár, ktorého kroky používajú zmysluplné popisy na obrazovke:
[
{ "action": "open_url", "value": "${APP_URL}" },
{ "action": "type", "target": "email field", "value": "${EMAIL}" },
{ "action": "type", "target": "password field", "value": "${PASSWORD}" },
{ "action": "click", "target": "Sign in" },
{ "action": "assert_text", "expect": "Dashboard" },
{ "action": "assert_no_error" }
]Použite create_app_scenario a potom spustite vrátené ID scenára cez run_app_scenario.
Prvý beh rozpozná elementy cez OmniParser. Ďalšie behy môžu znova použiť spevnenú cache
elementov a znova riešiť len zmenené kroky. Pri diagnostike výsledku skontrolujte, či bol
každý krok z cache, alebo parsovaný.
Čo znamená úspešný beh
Report sa počíta ako validácia len keď:
- jeho status je
passed; - cielil na zamýšľané prostredie a revíziu;
- dokončila sa prípadná staging-protection a prihlásenie do aplikácie; a
- assertions bežali vnútri produktu, nie na prihlasovacej alebo ochrannej stránke.
Úspešný scenár ukazuje len deklarovaný flow a assertions. Nedokazuje úplnú správnosť aplikácie, prístupnosť, bezpečnosť ani správanie cross-browser.
Premenné a secrets
Kroky odkazujú na hodnoty ako ${VAR} a TOTP seeds ako ${totp:VAR}. Predvolené hodnoty,
ktoré nie sú secret, môžu byť pri scenári. Secrets možno uložiť do šifrovaného key store
vlastníka pri vytvorení scenára; single-run overrides odovzdané do run_app_scenario sa
zlúčia pre ten beh a nie sú trvalo uložené.
Nepíšte doslovné heslá, tokeny ani TOTP seeds do textu kroku, popisov scenára, snímok
obrazovky ani exportov issue. Pre jednorazové kódy z e-mailu akcia email_otp vyžaduje
aktívnu a výslovne pripojenú integráciu Gmail pre vlastníka scenára.
Užitočné assertions
assert_textoverí očakávaný viditeľný text.assert_no_errorskontroluje vstavané alebo dodané chybové frázy.assert_visualporovná perceptual hash s uloženou baseline.assert_stablevzorkuje oblasť kvôli neočakávanému blikaniu alebo zmiznutiu.assert_progressoverí, že streamovaná oblasť sa po minimálnu dobu stále mení.networkmôže prerušiť a obnoviť sieť tester VM pre testy obnovy.
Vizuálne a časové assertions sú heuristiky. Nastavte prahy proti stabilným testovacím dátam a prehliadnite zachytené snímky, skôr než drift považujete za chybu produktu.
Priame a zaznamenávané testovanie
Pre prieskumnú prácu riďte VM cez desktop_open_url, desktop_screenshot, desktop_click,
desktop_type a súvisiace desktop nástroje. Použite start_app_test, record_app_test_step
a finish_app_test, keď má z ručnej sekvencie vzniknúť auditovateľný beh.
annotate_screenshot môže k dôkazom pridať označené rámečky. Anotácia vysvetlí, čo má
reviewer skontrolovať; sama o sebe nepreukazuje, že element fungoval.
Prevádzkové poznámky
- Tester VMs sa znova používajú podľa app/host. Pre paralelnú prácu škálujte tester pool namiesto vytvárania ľubovoľných duplicít.
- Predvolený tester nemá extra persistence disk. Persistence vyžiadajte len keď musí stav prežiť reboot a počítajte s dlhším prvým bootom.
- Timeout klienta nemusí backend prácu zrušiť; pred opakovaním skontrolujte beh.
- Reporty nechajte súkromné, kým snímky a diagnostika neprejdú kontrolou citlivých dát.