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_textkontrollib oodatud nähtavat teksti.assert_no_errorkontrollib built-in või antud error fraase.assert_visualvõrdleb perceptual hash’i salvestatud baseline’iga.assert_stablevõtab piirkonnast proove ootamatu flicker/disappearance jaoks.assert_progresskontrollib, et streaming piirkond muutub vähemalt määratud aja jooksul.networksaab 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.