Sovelluksen käyttöliittymätestit
OpenFactory voi ajaa uudelleenkäytettäviä browser-workfloweja hallituissa desktop tester VM:issä. Sovellus voi olla OpenFactoryn deployaama tai hostattu missä tahansa, mihin tester VM yltää.
Skenaariot yhdistävät semanttiset toiminnot kuten open, click, type, key, wait ja assert kuvakaappauksiin, browser-diagnostiikkaan ja tallennettuun tuomioon. Ne sopivat parhaiten tunnettuun käyttäjäflowhun; rajattuun löytämiseen käytä autonomous walker.
Luo ja aja skenaario
Hanki sovelluksen tester VM:
ensure_tester_vm(app="my-app", app_url="https://staging.example.com")Tallenna sitten skenaario, jonka vaiheet käyttävät merkityksellisiä näytön tunnisteita:
[
{ "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" }
]Käytä create_app_scenario ja aja palautettu skenaario-ID komennolla run_app_scenario.
Ensimmäinen ajo ratkaisee elementit OmniParserin kautta. Myöhemmät ajot voivat käyttää
uudelleen kovetettua elementticachea ja ratkaista uudelleen vain muuttuneet vaiheet. Tarkista
diagnostiikassa, oliko jokainen vaihe cachesta vai parsittu.
Mitä läpäisty ajo tarkoittaa
Raportti lasketaan validoinniksi vain, kun:
- status on
passed; - se kohdistui aiottuun ympäristöön ja revisioon;
- mahdollinen staging-protection ja sovelluskirjautuminen valmistuivat; ja
- assertions ajettiin tuotteen sisällä, ei kirjautumis- tai suojasivulla.
Läpäisty skenaario osoittaa vain ilmoitetun flown ja assertions. Se ei osoita sovelluksen täyttä oikeellisuutta, saavutettavuutta, turvallisuutta tai cross-browser-käyttäytymistä.
Muuttujat ja secrets
Vaiheet viittaavat arvoihin muodossa ${VAR} ja TOTP-seedeihin muodossa ${totp:VAR}.
Ei-salaiset oletukset voivat olla skenaarion yhteydessä. Secrets voidaan tallentaa omistajan
salattuun key storeen skenaarion luonnin yhteydessä; run_app_scenario-kutsuun annetut
single-run overrides yhdistetään kyseiseen ajoon eikä niitä tallenneta pysyvästi.
Älä laita kirjaimellisia salasanoja, tokeneita tai TOTP-seedejä vaihetekstiin, skenaariokuvauksiin,
kuvakaappauksiin tai issue-vientiin. Sähköpostitse lähetettyjä kertakoodeja varten email_otp-toiminto
vaatii aktiivisen, nimenomaisesti kytketyn Gmail-integraation skenaarion omistajalle.
Hyödylliset assertions
assert_texttarkistaa odotetun näkyvän tekstin.assert_no_errortarkistaa sisäänrakennetut tai annetut virhelauseet.assert_visualvertaa perceptual hashia tallennettuun baselineen.assert_stablenäytteistää alueen odottamattoman välkynnän tai katoamisen varalta.assert_progressvarmistaa, että streaming-alue muuttuu edelleen vähintään tietyn ajan.networkvoi katkaista ja palauttaa tester VM:n verkon recovery-testejä varten.
Visuaaliset ja ajalliset assertions ovat heuristiikkaa. Säädä kynnykset vakaita testidataa vastaan ja tarkista tallennetut framet ennen kuin kohtelet driftiä tuotevirheenä.
Suora ja tallennettu testaus
Tutkimustyössä ohjaat VM:ää komennoilla desktop_open_url, desktop_screenshot,
desktop_click, desktop_type ja liittyvillä desktop-työkaluilla. Käytä start_app_test,
record_app_test_step ja finish_app_test, kun manuaalisen sekvenssin pitää muuttua
auditointikelpoiseksi ajoksi.
annotate_screenshot voi lisätä merkittyjä laatikoita todisteisiin. Annotaatio kertoo,
mitä reviewerin pitää tarkistaa; se ei itsessään todista, että elementti toimi.
Operatiiviset huomiot
- Tester VM:t käytetään uudelleen per app/host. Skaalaa tester pool rinnakkaistyöhön satunnaisten duplikaattien sijaan.
- Oletustesterillä ei ole ylimääräistä persistencediskiä. Pyydä persistence vain, kun tilan on selvittävä uudelleenkäynnistyksestä, ja hyväksy pidempi first boot.
- Asiakkaan timeout ei välttämättä peru backend-työtä; tarkista ajo ennen uudelleenyritystä.
- Pidä raportit yksityisinä, ellei kuvakaappauksia ja diagnostiikkaa ole tarkistettu arkaluontoisten tietojen varalta.