Միայն Rust միջավայր
Աշխատում է մեկ Rust գործընթացի ներսում։ Արտաքին զննարկիչ, WebDriver կամ Node.js կախվածություն պետք չէ։
Բաց կոդ / Crate
browser-tester-ը զննարկչի նման կանխատեսելի թեստավորման կատարման միջավայր է, որը ստեղծված է մաքուր Rust-ով։ Այն ստուգում է DOM-ի և իրադարձությունների վարքը՝ առանց իրական զննարկիչ բացելու։
browser-tester-ը կենտրոնացած է կանխատեսելի ձևաթղթային/UI վարքագծի թեստերի վրա, ոչ թե բրաուզերի ամբողջական արտապատկերման համատեղելիության վրա։
Աշխատում է մեկ Rust գործընթացի ներսում։ Արտաքին զննարկիչ, WebDriver կամ Node.js կախվածություն պետք չէ։
Սկզբունքորեն կառուցված է կրկնելի թեստերի համար՝ կեղծ ժամացույց, կանխատեսելի պատահականության սերմ և ժամաչափերի հստակ կառավարում։
Աջակցում է բրաուզերի նման գործնական հոսքերի՝ ընտրիչներ, ներդրված սկրիպտների կատարում, իրադարձությունների տարածում և DOM թարմացումներ։
Ձևաթղթերի վրա կենտրոնացած UI թեստերի համար արագ տեղային հետադարձ կապ՝ պահելով ձախողումների արտածումը կենտրոնացած ընտրիչների և սպասվող/իրական արժեքների վրա։
Ստեղծիր շրջանակը HTML-ից, կատարիր փոխազդեցություններ և հաստատիր DOM արդյունքները։ Սկսիր փոքր օրինակից և աստիճանաբար ընդլայնիր ժամաչափերի ու կեղծ 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 և օգնարար ստուգումներ տեքստի/արժեքի/նշված լինելու/գոյության համար։
Կառավարիր ասինխրոն վարքագիծը կեղծ ժամացույցով։ Ժամանակը կանխատեսելիորեն առաջ տար advance_time, advance_time_to, flush և ժամաչափերի զննման API-ներով։
Ներարկիր fetch պատասխաններ և dialog-ի արդյունքներ set_fetch_mock, enqueue_confirm_response և enqueue_prompt_response միջոցով, որպեսզի թեստերը մեկուսացված մնան։
Միացրու հետքագրային մատյանները և դուրս բեր իրադարձությունների/ժամաչափերի հոսքը, երբ թեստը ձախողվում է։ Օգտակար է իրադարձությունների հերթականությունն ու կանխադրված գործողությունների վարքը վերլուծելու համար։
Եթե քո թեստային հավաքածուին լրացուցիչ զննարկչի API-ներ են պետք, բացիր խնդիրը նվազագույն օրինակի հետ՝ ծավալն ու առաջնահերթությունը քննարկելու համար։