Skip to Content
TestingRakenduse UI testimine

Rakenduse UI testimine

OpenFactory saab hallatavates desktop tester VM-ides käivitada korduvkasutatavaid brauseri workflow-sid. Rakenduse võib juurutada OpenFactory või hostida kõikjal, kust tester VM selle kätte saab.

Stsenaariumid ühendavad semantilised tegevused, näiteks open, click, type, key, wait ja assert, ekraanipiltide, brauseri diagnostika ja salvestatud otsusega. Need sobivad teadaolevale kasutajavoole; piiratud avastamiseks kasutage autonomous walker.

Stsenaariumi loomine ja käivitamine

Hankige rakenduse tester VM:

ensure_tester_vm(app="my-app", app_url="https://staging.example.com")

Seejärel salvestage stsenaarium, mille sammud kasutavad mõistlikke ekraanil silte:

[ { "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" } ]

Kasutage create_app_scenario, seejärel käivitage tagastatud scenario ID run_app_scenario abil. Esimene käivitus lahendab elemendid OmniParseri kaudu. Hilisemad käivitused võivad kasutada tugevdatud elementide cache’i ja lahendada uuesti ainult muutunud sammud. Tulemust diagnoosides vaadake, kas iga samm oli cached või parsed.

Mida tähendab edukas käivitus

Aruanne loeb valideerimiseks ainult siis, kui:

  • olek on passed;
  • sihtmärk oli kavandatud keskkond ja revision;
  • staging-protection ja rakenduse sisselogimine lõppesid; ja
  • assertions käivitusid tootes, mitte sisselogimise või kaitse lehel.

Edukas stsenaarium näitab ainult deklareeritud voogu ja assertions. See ei tõesta rakenduse täielikku õigsust, ligipääsetavust, turvalisust ega käitumist eri brauserites.

Muutujad ja secrets

Sammud viitavad väärtustele kujul ${VAR} ja TOTP seeds kujul ${totp:VAR}. Mitte-salajased vaikimisi väärtused võivad olla stsenaariumiga. Secrets saab salvestada omaniku krüpteeritud key store’i stsenaariumi loomisel; ühekordseid override’e, mis antakse run_app_scenario-le, ühendatakse selle käivituse jaoks ega salvestata.

Ärge pange literal paroole, token-e ega TOTP seeds sammude teksti, stsenaariumi kirjeldustesse, ekraanipiltidesse ega issue export’i. E-posti teel saadetud ühekordsete koodide jaoks nõuab email_otp tegevus stsenaariumi omaniku aktiivset, selgelt ühendatud Gmail integratsiooni.

Kasulikud assertions

  • assert_text kontrollib oodatud nähtavat teksti.
  • assert_no_error kontrollib built-in või antud error fraase.
  • assert_visual võrdleb perceptual hash’i salvestatud baseline’iga.
  • assert_stable võtab piirkonnast proove ootamatu flicker/disappearance jaoks.
  • assert_progress kontrollib, et streaming piirkond muutub vähemalt määratud aja jooksul.
  • network saab tester VM võrgu katkestada ja taastada recovery testide jaoks.

Visual ja temporal assertions on heuristikad. Häälestage läved stabiilse test data vastu ja vaadake jäädvustatud kaadreid enne drift’i toote veana tõlgendamist.

Otsene ja salvestatud testimine

Uurimistööks juhtige VM-i desktop_open_url, desktop_screenshot, desktop_click, desktop_type ja seotud desktop tööriistadega. Kasutage start_app_test, record_app_test_step ja finish_app_test, kui see manuaalne jada peab muutuma auditeeritavaks käivituseks.

annotate_screenshot saab evidence’ile lisada märgistatud kaste. Annotatsioon selgitab, mida reviewer peaks kontrollima; see ise ei tõesta, et element töötaks.

Operatiivsed märkused

  • Tester VM-e kasutatakse uuesti app/host kohta. Skaleerige tester pool paralleeltöö jaoks, mitte juhuslike duplikaatide loomise asemel.
  • Vaikimisi tester’il pole lisapersistence kettas. Request persistence ainult siis, kui state peab reboot’i üle elama, ja aktsepteerige pikemat first boot’i.
  • Kliendi timeout ei tühistata alati backend tööd; vaadake run enne uuesti proovimist.
  • Hoidke reports private, kui ekraanipildid ja diagnostika pole üle vaadatud tundlike andmete suhtes.

Seotud