Otvoriti kod / Kontejner.

testiranje pregledača

"browser-tester" je deterministička testna okolina koja simulira rad pregledača i implementirana je u programskom jeziku Rust. Ona validira ponašanje DOM-a i događaja bez potrebe za pokretanjem pravog pregledača.

Rđa. Determinističko vreme izvršavanja. Testiranje DOM-a.

Šta ovaj paket (ili kutija) najbolje radi.

"Browser-tester" se fokusira na testiranje predvidivog ponašanja formulara i korisničkog interfejsa, umesto na kompatibilnost sa različitim načinima prikazivanja u pregledačima.

Runtime okruženje isključivo za programski jezik Rust.

Radi unutar jednog procesa napisanog u programskom jeziku Rust. Ne zahteva korišćenje eksternih pregledača, WebDriver-a ili Node.js-a.

Determinističko izvršavanje.

Dizajniran za ponavljajuće testove: uključuje simulirani časovnik, 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 pregledačima: selektore, izvršavanje skripti u liniji, propagaciju događaja i ažuriranje DOM strukture.

Brza povratna informacija iz lokalnog okruženja.

Brz ciklus povratnih informacija za testiranje korisničkog interfejsa zasnovanog na formulama, uz fokus izveštaja o greškama na selektorima i očekivanim/stvarnim vrednostima.

Brzi početak.

Kreirajte testni okvir koristeći HTML, pokrenite interakcije i proverite rezultate DOM-a. Počnite sa malim testnim skriptama i proširite ih korišćenjem tajmera i simuliranih API-ja.

Instalirajte.

cargo dodaj browser_tester.

Osnovni primer.

Glavna API površina.

Integracija akcija i izjava.

Osnovne operacije testiranja DOM-a: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, kao i pomoćne funkcije za proveru teksta/vrednosti/statusa "odabrano"/"postojanja".

Deterministički tajmeri.

Kontrolišite asinkrono ponašanje pomoću simuliranog sata. Napredujte vreme deterministički koristeći funkcije `advance_time`, `advance_time_to`, `flush` i API-je za inspekciju tajmera.

Ugrađeni simulacioni objekti.

Koristite funkcije `set_fetch_mock`, `enqueue_confirm_response` i `enqueue_prompt_response` da biste simulirali odgovore sa servera i rezultate dijaloga, čime ćete osigurati da testovi budu izolovani.

Praćenje i dijagnostika.

Omogućite beleženje detaljnih informacija i prikupljanje podataka o toku događaja/tajmera kada test ne prođe. Ovo je korisno za otklanjanje grešaka u redosledu događaja i ponašanju podrazumevanih akcija.

Politika rada.

  • Funkcija `eval` je namerno onemogućena kako bi se očuvala sigurnost i predvidivost sistema.
  • Ova verzija softvera je namenjena za testiranje u praktičnim scenarijima, a ne za 100% kompatibilnost sa stvarnim pregledačima.
  • Komunikacija sa spoljnim mrežama nije obuhvaćena ovim opsegom; koristite simulacije za testiranje.

Ako vam je potrebno više API-ja za pregledače za vaš skup testova, otvorite zahtev (issue) uz minimalan primer koda kako bismo razgovarali o obimu i prioritetu.