Avatud lähtekoodiga / konteiner.

veebilehitseja-testija.

"browser-tester" on puhtalt Rusti keeles kirjutatud, deterministlik testkeskkond, mis jäljendab brauseri toimimist. See kontrollib DOM-i (Document Object Model) ja sündmuste käitumist, ilma et peaksid käivitama tõelist brauserit.

Rooste. Deterministlik tööaeg. DOM-i testimine.

Mille jaoks see pakett sobib.

"Browser-tester" keskendub eelkõige prognoositavate vormide ja kasutajaliidese toimimise testimisele, pigem kui täieliku brauseri renderdamisühilduse kontrollimisele.

Ainult Rusti keelest tuginev keskkond.

Töötab ühe Rusti protsessi sees. Ei vaja väliseid brausereid, WebDriverit ega Node.js'i.

Deterministlik täitmine.

Süsteem on loodud kordumatute testide läbiviimiseks, kasutades selliseid funktsioone nagu simuleeritud kell, deterministlik juhusliku arvu generaator ja täpsed ajastamise API-d.

DOM-i ja sündmuste testimine.

Toetab praktilisi brauseri funktsioone: valikuid, sisseehitatud skriptide käitamist, sündmuste levitamist ja DOM-i (dokumentide objektimudeli) värskendusi.

Kiire kohalik tagasiside.

Kiire tagasiside tsükkel vormikesksete kasutajaliidese testide jaoks, samal ajal kui veaandmed keskenduvad valikutele ja ootatud/tegelikele väärtustele.

Kiire käivitamine.

Looge testimiseks keskkond HTML-koodi abil, simuleerige kasutajainteraktsioone ja kontrollige DOM-i (Document Object Model) tulemusi. Alustage väikese testkeskkonnaga ja laiendage seda ajutajate ja simuleeritud API-dega.

Paigaldage.

cargo käsk: lisage pakett "browser_tester".

Põhiline näide.

Peamine API-liides.

Kasutades tegevusi ja väiteid.

Põhilised DOM-i testimise funktsioonid: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` ning abi funktsioonid tekstisisu, väärtuse, valitud oleku ja olemasolu kontrollimiseks.

Deterministlikud taimerid.

Kontrollige asünkroonset käitumist kasutades simuleeritud kellu. Edendage aega deterministiliselt funktsioonide `advance_time`, `advance_time_to`, `flush` ja ajendi kontrolli API-de abil.

Sisseehitatud simulaatorid.

Kasutage funktsioone `set_fetch_mock`, `enqueue_confirm_response` ja `enqueue_prompt_response`, et simuleerida andmete laadimist ja dialoogide tulemusi, et testid oleksid isoleeritud ja ei mõjutaks teineteist.

Jälgimine ja diagnostika.

Luba jälgimislogid ja väljasta sündmuste/ajutajate teekonda, kui test ebaõnnestub. Kasulik sündmuste järjestuse ja vaiketegevuse käitumise debugimiseks.

Tööaja reeglid.

  • Funktsioon `eval` ei ole tahtlikult toetatud, et säilitada turvalisus ja eeldatav käitumine.
  • See keskkond on mõeldud praktiliste testide läbiviimiseks, mitte täieliku ühilduvusega tegelike brauserite simuleerimiseks.
  • Välise võrguga suhtlemine ei kuulu selle juurde; testide katvuse tagamiseks kasutage võltsandmeid (mock data).

Kui teie testide jaoks on vaja täiendavaid brauseri API-sid, avage probleem (issue) ja lisage sellele minimaalne näidis, et arutada selle funktsionaalsust ja prioriteeti.