Rust-मात्र रनटाइम
एउटै Rust process भित्र चल्छ। बाह्य browser, WebDriver, वा Node.js dependency आवश्यक छैन.
browser-tester ले पूर्ण ब्राउजर रेन्डरिङ अनुकूलता भन्दा निर्धारणयोग्य फर्म/UI व्यवहार परीक्षणमा ध्यान दिन्छ.
एउटै Rust process भित्र चल्छ। बाह्य browser, WebDriver, वा Node.js dependency आवश्यक छैन.
पुनः चलाउन मिल्ने परीक्षणका लागि डिजाइन गरिएको: fake clock, निर्धारणयोग्य random seed, र explicit timer control API.
selector, inline script execution, event propagation, र DOM updates सहित व्यावहारिक browser-जस्ता flows समर्थन गर्छ.
फर्म-केंद्रित UI परीक्षणका लागि छिटो स्थानीय प्रतिपुष्टि चक्र, र असफल हुँदा selector तथा अपेक्षित/वास्तविक मानमा केन्द्रित आउटपुट.
HTML बाट harness बनाउनुहोस्, interaction चलाउनुहोस्, र 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 का पुष्टि सहायकहरू.
नक्कली घडी प्रयोग गरेर असमकालीन व्यवहार नियन्त्रण गर्नुहोस्। advance_time, advance_time_to, flush, र timer inspection API मार्फत समयलाई निर्धारणयोग्य रूपमा अघि बढाउनुहोस्.
set_fetch_mock, enqueue_confirm_response, र enqueue_prompt_response प्रयोग गरेर fetch response र dialog outcome inject गर्नुहोस्, ताकि परीक्षणहरू isolated रहून्.
परीक्षण असफल हुँदा trace log सक्षम गरेर event/timer flow निकाल्नुहोस्। event order र default action behavior debug गर्न उपयोगी.
तपाईंको परीक्षण सूटका लागि थप browser API चाहिन्छ भने, दायरा र प्राथमिकताबारे छलफल गर्न न्यूनतम fixture सहित एउटा समस्या दर्ता गर्नुहोस्.