Skip to Content
TestingTestovanie UI aplikácie

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_text overí očakávaný viditeľný text.
  • assert_no_error skontroluje vstavané alebo dodané chybové frázy.
  • assert_visual porovná perceptual hash s uloženou baseline.
  • assert_stable vzorkuje oblasť kvôli neočakávanému blikaniu alebo zmiznutiu.
  • assert_progress overí, že streamovaná oblasť sa po minimálnu dobu stále mení.
  • network môž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.

Súvisiace