Tikai Rust izpildes vide
Darbojas vienā Rust procesā. Nav nepieciešama ārēja pārlūkprogramma, WebDriver vai Node.js atkarība.
Atvērtais pirmkods / Rust bibliotēka
browser-tester ir deterministiska, pārlūkprogrammai līdzīga testēšanas vide, kas pilnībā uzrakstīta Rust valodā. Tā pārbauda DOM un notikumu uzvedību bez nepieciešamības palaist reālu pārlūkprogrammu.
browser-tester koncentrējas uz prognozējamu veidlapu un lietotāja saskarnes uzvedības testēšanu, nevis uz pilnīgu vizuālā attēlojuma saderību ar dažādām pārlūkprogrammām.
Darbojas vienā Rust procesā. Nav nepieciešama ārēja pārlūkprogramma, WebDriver vai Node.js atkarība.
Pēc dizaina radīts atkārtojamiem testiem: simulēts pulkstenis, deterministisks gadījumskaitļu ģenerators un skaidras taimeru kontroles API.
Atbalsta reālistiskus pārlūkprogrammas scenārijus: elementu selektorus, inline skriptu izpildi, notikumu izplatīšanos un DOM atjauninājumus.
Ātrs lokālās atgriezeniskās saites cikls uz veidlapām orientētiem lietotāja saskarnes testiem, nodrošinot, ka kļūdu ziņojumi koncentrējas uz selektoriem un sagaidāmajām/faktiskajām vērtībām.
Izveidojiet testēšanas vidi no HTML, veiciet lietotāja darbības un pārbaudiet DOM rezultātus. Sāciet ar vienkāršu paraugu un paplašiniet to ar taimeru vai imitāciju (mock) API.
Instalēšana
cargo add browser_tester
Pamata piemērs
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(())
}
Galvenās DOM testēšanas darbības: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, kā arī palīglīdzekļi teksta, vērtību, atzīmju un elementu eksistences pārbaudei.
Kontrolējiet asinhrono uzvedību ar simulētu pulksteni. Deterministiski virziet laiku uz priekšu, izmantojot `advance_time`, `advance_time_to`, `flush` un taimeru pārbaudes API.
Inicējiet tīmekļa pieprasījumu (fetch) atbildes un dialoglogu rezultātus ar `set_fetch_mock`, `enqueue_confirm_response` un `enqueue_prompt_response`, lai saglabātu testu izolāciju.
Iespējojiet izsekošanas žurnālus un iegūstiet notikumu/taimeru izpildes plūsmu testa neveiksmes gadījumā. Noderīgi notikumu secības un noklusējuma darbību atkļūdošanai.
Ja jūsu testu kopa pieprasa papildu pārlūkprogrammas API, lūdzu, izveidojiet pieteikumu ar minimālu piemēru, lai mēs varētu apspriest prioritātes.