Skip to Content
TestingSovelluksen käyttöliittymätestit

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_text tarkistaa odotetun näkyvän tekstin.
  • assert_no_error tarkistaa sisäänrakennetut tai annetut virhelauseet.
  • assert_visual vertaa perceptual hashia tallennettuun baselineen.
  • assert_stable näytteistää alueen odottamattoman välkynnän tai katoamisen varalta.
  • assert_progress varmistaa, että streaming-alue muuttuu edelleen vähintään tietyn ajan.
  • network voi 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.

Liittyvät