یوازې Rust runtime
په یوه Rust بهیر کې چلېږي. بهرني browser، WebDriver، یا Node.js ته اړتیا نه لري.
browser-tester د فورم او UI د چلند د وړاندوینې وړ ازموینو ته لومړیتوب ورکوي، نه د حقیقي browser د rendering بشپړ مطابقت ته.
په یوه Rust بهیر کې چلېږي. بهرني browser، WebDriver، یا Node.js ته اړتیا نه لري.
له ډیزاین سره سم د بیا تکرار کېدونکو ازموینو لپاره جوړ شوی: fake clock، د تصادفي تخم ثبات، او واضح timer control API ګانې.
د براوزر په څېر عملي جریانونو ملاتړ کوي: selectors، inline script اجرا، د پیښو خپرېدل، او DOM تازهکونې.
د form-محور UI ازموینو لپاره چټک ځايي feedback cycle، او د ناکامۍ output په selectors او تمه شويو/اصلي ارزښتونو متمرکز ساتي.
له HTML څخه harness جوړ کړئ، تعاملات وچلوئ، او د DOM پایلې تایید کړئ. له یوې کوچنۍ fixture څخه پیل وکړئ او بیا د timer/mock API ګانو له لارې پراخ یې کړئ.
نصب
cargo add browser_tester
بنسټیزه بېلګه
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(())
}
د DOM د ازموینې اصلي عملیات: Harness::from_html، type_text، set_checked، click، submit، او د text/value/checked/existence لپاره د تایید مرستندویان.
د fake clock له لارې asynchronous چلند کنټرول کړئ. وخت په ثابت ډول د advance_time، advance_time_to، flush، او د timer inspection API ګانو په وسیله مخکې یوسئ.
د set_fetch_mock، enqueue_confirm_response او enqueue_prompt_response له لارې fetch ځوابونه او ډیالوګ پایلې داخل کړئ، څو ازموینې جلا پاتې شي.
تعقیبي ثبتونه فعال کړئ او کله چې ازموینه ناکامه شي د event او timer جریان راوباسئ. دا د پېښو د ترتیب او د اصلي کړنې د چلند د debug لپاره ګټور دی.
که تاسو د خپلې test suite لپاره اضافي براوزر API ګانو ته اړتیا لرئ، د یوې کوچنۍ fixture سره issue پرانیزئ څو د ساحې او لومړیتوب په اړه بحث وشي.