Mediu de execuție exclusiv pentru Rust.
Funcționează în cadrul unui singur proces Rust. Nu necesită un browser extern, WebDriver sau dependențe de Node.js.
Cod sursă / Container.
`browser-tester` este un mediu de testare, implementat în Rust, care simulează funcționarea unui browser și oferă rezultate predictibile. Acesta validează comportamentul DOM-ului și al evenimentelor, fără a necesita lansarea unui browser real.
"browser-tester" se concentrează pe testarea comportamentului predictibil al formularelor și interfețelor utilizator, mai degrabă decât pe compatibilitatea completă cu diverse motoare de navigare.
Funcționează în cadrul unui singur proces Rust. Nu necesită un browser extern, WebDriver sau dependențe de Node.js.
Conceput pentru a permite efectuarea de teste repetabile: include un ceas simulat, o valoare inițială deterministă pentru generarea de numere aleatoare și API-uri pentru controlul explicit al temporizatorului.
Suportă funcționalități similare celor din browsere, precum: selectarea elementelor, executarea de scripturi inline, propagarea evenimentelor și actualizarea DOM-ului.
Un ciclu rapid de feedback pentru testarea interfețelor utilizator axate pe formulare, menținând în același timp mesajele de eroare concentrate pe selectori și valorile așteptate/reale.
Creați un sistem de testare folosind HTML, executați interacțiuni și verificați rezultatele în DOM. Începeți cu un test simplu și extindeți-l cu funcții temporizate sau API-uri simulate.
Instalați.
cargo: adaugă componenta "browser_tester".
Exemplu simplu.
Operații de bază pentru testarea DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, și funcții auxiliare pentru verificarea textului/valorii/stării de bifare/existenței.
Controlați comportamentul asincron cu ajutorul unui ceas simulat. Avansați timpul într-un mod determinist utilizând funcțiile `advance_time`, `advance_time_to`, `flush` și API-urile de inspecție a timerelor.
Pentru a menține testele izolate, utilizați funcțiile `set_fetch_mock`, `enqueue_confirm_response` și `enqueue_prompt_response` pentru a simula răspunsurile de la server și rezultatele dialogurilor.
Activați jurnalele de urmărire și extrageți informații despre fluxul de evenimente/temporizatoare atunci când un test eșuează. Acest lucru este util pentru depanarea ordinii evenimentelor și a comportamentului acțiunilor implicite.
Dacă aveți nevoie de API-uri suplimentare pentru browser pentru suita dumneavoastră de teste, deschideți o sesiune de discuții (un "issue") și includeți un exemplu minimal pentru a discuta despre domeniul de aplicare și prioritatea acestora.