Otvoriti izvor / Kutija.

testiranje preglednika

"browser-tester" je deterministička testna okolina koja simulira rad preglednika i implementirana je u programskom jeziku Rust. Ona provjerava funkcionalnost DOM-a i događaja bez pokretanja stvarnog preglednika.

Hrđa. Determinističko vrijeme izvođenja. Testiranje DOM-a.

Što ovaj okvir (ili "kutija") najbolje radi.

Alat "browser-tester" usredotočuje se na testiranje predvidivog ponašanja formulara i korisničkog sučelja, umjesto na provjeru kompatibilnosti s različitim preglednicima.

Okruženje za izvođenje programa napisano isključivo u jeziku Rust.

Radi unutar jednog procesa napisanog u jeziku Rust. Ne zahtijeva vanjski preglednik, WebDriver ili Node.js.

Determinističko izvršavanje.

Dizajniran za ponavljajuće testove: uključuje simulirani sat, deterministički generator slučajnih brojeva i API-je za preciznu kontrolu tajmera.

DOM + Testiranje događaja.

Podržava praktične funkcije slične onima u preglednicima: selektore, izvođenje skripti u liniji, propagaciju događaja i ažuriranje DOM-a.

Brza povratna informacija iz lokalnog okruženja.

Brzi ciklus povratnih informacija za testiranje korisničkog sučelja usmjereno na obrasce, uz fokus izlaznih poruka o greškama na selektore i očekivane/stvarne vrijednosti.

Brzi početak.

Napravite okruženje za testiranje pomoću HTML-a, pokrenite interakcije i provjerite rezultate DOM-a. Počnite s malim testnim okruženjem i proširite ga pomoću tajmera i simuliranih API-ja.

Instaliraj.

cargo: dodaj komponentu "browser_tester".

Osnovni primjer.

Glavna API površina.

Integrirane radnje i izjave.

Osnovne operacije testiranja DOM-a: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, te pomoćne funkcije za provjeru teksta/vrijednosti/statusa "odabrano"/postojanja.

Deterministički tajmeri.

Kontrolirajte asinkrono ponašanje pomoću simuliranog sata. Napredujte kroz vrijeme na deterministički način pomoću funkcija `advance_time`, `advance_time_to`, `flush` i API-ja za inspekciju tajmera.

Ugrađeni simulirani podaci.

Koristite funkcije `set_fetch_mock`, `enqueue_confirm_response` i `enqueue_prompt_response` za simulaciju odgovora i rezultata dijaloga, kako biste osigurali da su testovi izolovani.

Praćenje i dijagnostika.

Omogućite zapisivanje detaljnih informacija i izvucite podatke o redoslijedu događaja i radu tajmera kada testiranje propadne. Ovo je korisno za otklanjanje pogrešaka u redoslijedu događaja i ponašanju zadane radnje.

Pravila rada.

  • Funkcija "eval" je namjerno onemogućena kako bi se osigurala sigurnost i predvidivost rada.
  • Ova verzija softvera je optimizirana za praktične testne scenarije, a ne za 100% kompatibilnost sa stvarnim preglednicima.
  • Komunikacija sa vanjskim mrežama nije obuhvaćena ovim dijelom; za pokrivanje testova koristite simulirane podatke.

Ako vam je za vašu testnu suite potrebna dodatna API-ja za preglednik, otvorite zahtjev (issue) uz minimalni primjer koji ilustrira problem, kako bismo razgovarali o obimu i prioritetu.