Rust eingöngu sem keyrsluumhverfi
Keyrir inni í einu Rust-ferli. Engin háð á ytri vafra, WebDriver eða Node.js.
Opinn hugbúnaður / crate
browser-tester er ákvarðanlegt vafralíkt prófunarumhverfi útfært í hreinu Rust. Það staðfestir DOM- og event-hegðun án þess að ræsa raunverulegan vafra.
browser-tester einbeitir sér að fyrirsjáanlegum prófum á form- og UI-hegðun frekar en fullri samhæfni við vafrarenderingu.
Keyrir inni í einu Rust-ferli. Engin háð á ytri vafra, WebDriver eða Node.js.
Hannað fyrir endurtekningarhæf próf: gerviklukka, ákvarðanlegt random seed og skýr API til tímastjórnunar.
Styður hagnýt vafralík flæði: selectors, inline script keyrslu, event propagation og DOM-uppfærslur.
Hratt endurgjafarflæði fyrir formmiðuð UI-próf, með villuúttaki sem beinist að selectors og expected/actual gildum.
Búðu til harness úr HTML, keyrðu samskipti og staðfestu DOM-niðurstöður. Byrjaðu með litla fixture og stækkaðu með timer/mock API-um.
Setja upp
cargo add browser_tester
Grunndæmi
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(())
}
Kjarnaaðgerðir fyrir DOM-prófanir: Harness::from_html, type_text, set_checked, click, submit og assertion-hjálparföll fyrir text/value/checked/existence.
Stýrðu ósamstilltri hegðun með gerviklukku. Færðu tímann áfram með ákvörðuðum hætti með advance_time, advance_time_to, flush og API-um til að skoða tímastilli.
Sprautaðu inn fetch-svörum og dialog-niðurstöðum með set_fetch_mock, enqueue_confirm_response og enqueue_prompt_response til að halda prófum einangruðum.
Virkjaðu trace-skrár og dragðu út event/timer-flæði þegar próf fellur. Gagnlegt til að kemba röð viðburða og hegðun sjálfgefinna aðgerða.
Ef þú þarft fleiri vafra-API fyrir prófunarsvítuna skaltu opna issue með lágmarksfixture til að ræða umfang og forgang.