फक्त रस्ट (Rust) भाषेसाठी तयार केलेले रनटाइम.
हे ॲप्लिकेशन एकाच रस्ट (Rust) प्रक्रियेत चालते. यासाठी कोणत्याही बाह्य ब्राउझर, वेबड्रायव्हर (WebDriver) किंवा नोड.js (Node.js)ची आवश्यकता नाही.
ओपन सोर्स / क्रेट.
"ब्राउझर-टेस्टर" हे एक विशिष्ट ब्राउझरसारखे चाचणी वातावरण आहे, जे पूर्णपणे 'रस्ट' या भाषेत तयार केले गेले आहे. हे प्रत्यक्ष ब्राउझर सुरू न करता, 'डीओएम' (DOM) आणि इव्हेंटच्या (event) कार्यप्रणालीची तपासणी करते.
ब्राउझर-टेस्टर हे पूर्ण ब्राउझरच्या रेंडरिंग सुसंगततेऐवजी, फॉर्म/यूआय (UI) च्या अपेक्षित वर्तणुकीच्या चाचण्यांवर अधिक लक्ष केंद्रित करते.
हे ॲप्लिकेशन एकाच रस्ट (Rust) प्रक्रियेत चालते. यासाठी कोणत्याही बाह्य ब्राउझर, वेबड्रायव्हर (WebDriver) किंवा नोड.js (Node.js)ची आवश्यकता नाही.
हे उपकरण अशा प्रकारे तयार केले आहे की ते वारंवार चाचणीसाठी वापरले जाऊ शकते. यात कृत्रिम घड्याळ, पूर्वनिश्चित यादृच्छिक संख्या जनरेटर आणि टाइमर नियंत्रित करण्यासाठी विशिष्ट प्रणाली समाविष्ट आहेत.
हे वैशिष्ट्य ब्राउझरप्रमाणे कार्यप्रणालीला समर्थन देते: यामध्ये निवडक घटक (सेलेक्टर), इनलाइन स्क्रिप्ट अंमलबजावणी, इव्हेंट प्रसार (इव्हेंट प्रोपगेशन) आणि डॉक्युमेंट ऑब्जेक्ट मॉडेल (डीओएम) अद्यतनांचा समावेश आहे.
फॉर्म-आधारित यूजर इंटरफेस (UI) चाचणीसाठी जलद प्रतिसाद प्रणाली, ज्यामुळे अयशस्वी झाल्यास, त्रुटी केवळ निवडक घटक (सेलेक्टर) आणि अपेक्षित/वास्तविक मूल्यांवर केंद्रित राहतील.
एचटीएमएल वापरून एक चाचणी प्रणाली (हॉर्नेस) तयार करा, त्यामध्ये विविध क्रिया (इंटरेक्शन) करा आणि डॉम (DOM) च्या परिणामांची पडताळणी करा. लहान चाचणी प्रणालीने सुरुवात करा आणि नंतर टाइमर (timer) आणि मॉक एपीआय (mock APIs) वापरून ती वाढवा.
इन्स्टॉल करा.
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`, आणि मजकूर/व्हॅल्यू/निवडलेले/अस्तित्व यांसारख्या गोष्टींसाठी सहाय्यक चाचणी पद्धती.
असिंक्रोनस (asynchronous) वर्तनावर नियंत्रण मिळवण्यासाठी 'फेक क्लॉक' (fake clock) वापरा. 'ॲडव्हान्स टाइम' (advance_time), 'ॲडव्हान्स टाइम टू' (advance_time_to), 'फ्लश' (flush) आणि 'टाइमर तपासणी' (timer inspection) यांसारख्या API चा वापर करून वेळेमध्ये पूर्वनियोजित बदल करा.
चाचणी अधिक प्रभावी करण्यासाठी, `set_fetch_mock`, `enqueue_confirm_response` आणि `enqueue_prompt_response` यांसारख्या फंक्शन्सचा वापर करून डेटा मिळवण्याच्या प्रक्रियेतील बदल आणि संवाद परिणामांचे अनुकरण करा, जेणेकरून चाचण्या स्वतंत्र राहतील.
चाचणी अयशस्वी झाल्यास, ट्रेस लॉग सक्षम करा आणि इव्हेंट/टाइमरचा क्रम तपासा. हे इव्हेंटच्या क्रमातील त्रुटी शोधण्यासाठी आणि डीफॉल्ट कृतींच्या कार्यातून माहिती मिळवण्यासाठी उपयुक्त आहे.
जर तुम्हाला तुमच्या चाचणी प्रणालीसाठी आणखी ब्राउझर एपीआय (API) आवश्यक असतील, तर कृपया एक नवीन विनंती (issue) उघडा आणि त्यात आवश्यक माहिती (किमान आवश्यक तपशील) समाविष्ट करा, जेणेकरून आम्ही व्याप्ती (scope) आणि प्राधान्यक्रम (priority) यावर चर्चा करू शकू.