Opinn hugbúnaður / crate

browser-tester

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.

Rust Ákvarðanlegt keyrsluumhverfi DOM-prófanir

Það sem þetta crate hentar vel í

browser-tester einbeitir sér að fyrirsjáanlegum prófum á form- og UI-hegðun frekar en fullri samhæfni við vafrarenderingu.

Rust eingöngu sem keyrsluumhverfi

Keyrir inni í einu Rust-ferli. Engin háð á ytri vafra, WebDriver eða Node.js.

Ákvarðanleg keyrsla

Hannað fyrir endurtekningarhæf próf: gerviklukka, ákvarðanlegt random seed og skýr API til tímastjórnunar.

DOM + event prófanir

Styður hagnýt vafralík flæði: selectors, inline script keyrslu, event propagation og DOM-uppfærslur.

Hröð staðbundin endurgjöf

Hratt endurgjafarflæði fyrir formmiðuð UI-próf, með villuúttaki sem beinist að selectors og expected/actual gildum.

Flýtibyrjun

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(())
}

Helsta API-yfirborð

Harness-aðgerðir + assertions

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.

Ákvarðanlegir tímastillar

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.

Innbyggð mock

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.

Trace og greining

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.

Reglur keyrsluumhverfis

  • eval er viljandi ekki stutt til að varðveita öryggi og ákvarðanleika.
  • Þetta keyrsluumhverfi miðar að hagnýtum prófunarsviðsmyndum, ekki 100% samhæfni við raunverulegan vafra.
  • Ytra net-I/O er utan umfangs; notaðu fetch mock fyrir prófunarþekju.

Ef þú þarft fleiri vafra-API fyrir prófunarsvítuna skaltu opna issue með lágmarksfixture til að ræða umfang og forgang.