Kun-Rust-kjøretid
Kjører i én enkelt Rust-prosess. Ingen ekstern nettleser, WebDriver eller Node.js-avhengighet.
Åpen kildekode / Rust-pakke
browser-tester er et deterministisk, nettleserlignende testmiljø implementert i ren Rust. Det validerer DOM- og hendelsesoppførsel uten å starte en ekte nettleser.
browser-tester fokuserer på forutsigbare tester av skjema- og UI-oppførsel, ikke full kompatibilitet med ekte nettlesergjengivelse.
Kjører i én enkelt Rust-prosess. Ingen ekstern nettleser, WebDriver eller Node.js-avhengighet.
Laget for repeterbare tester fra bunnen av: falsk klokke, deterministisk startfrø og eksplisitte API-er for timerstyring.
Støtter praktiske nettleserlignende flyter: selektorer, kjøring av innebygde skript, hendelsesforplantning og DOM-oppdateringer.
Rask lokal tilbakemelding for UI-tester med fokus på skjemaer, samtidig som feilutdata holder fokus på selektorer og forventede/faktiske verdier.
Opprett et harness fra HTML, kjør interaksjoner og verifiser DOM-resultater. Start med et lite testoppsett og utvid med API-er for timere og simuleringer.
Installer
cargo add browser_tester
Grunnleggende eksempel
use browser_tester::Harness;
fn main() -> browser_tester::Result<()> {
let html = r#"..."#;
let mut h = Harness::from_html(html)?;
h.type_text("#name", "Alice")?;
h.click("#submit")?;
h.assert_text("#result", "Hello, Alice")?;
Ok(())
}
Kjerneoperasjoner for DOM-testing: Harness::from_html, type_text, set_checked, click, submit og hjelpelogikk for påstander om tekst/verdi/avkrysset/tilstedeværelse.
Kontroller asynkron oppførsel med en falsk klokke. Flytt tiden deterministisk framover med advance_time, advance_time_to, flush og API-er for inspeksjon av timere.
Sett inn fetch-svar og dialogutfall med set_fetch_mock, enqueue_confirm_response og enqueue_prompt_response for å holde tester isolerte.
Aktiver sporingslogger og hent ut hendelses- og timerflyten når en test feiler. Nyttig for å feilsøke rekkefølgen på hendelser og standardhandlinger.
Hvis du trenger flere nettleser-API-er i testpakken din, åpne en sak med et minimalt testoppsett for å diskutere omfang og prioritet.