ओपन सोर्स / क्रेट.

ब्राउझर-टेस्टर.

"ब्राउझर-टेस्टर" हे एक विशिष्ट ब्राउझरसारखे चाचणी वातावरण आहे, जे पूर्णपणे 'रस्ट' या भाषेत तयार केले गेले आहे. हे प्रत्यक्ष ब्राउझर सुरू न करता, 'डीओएम' (DOM) आणि इव्हेंटच्या (event) कार्यप्रणालीची तपासणी करते.

गंज. निश्चित रनटाइम. डीओएम चाचणी.

हे उपकरण कोणत्या कामांसाठी उपयुक्त आहे.

ब्राउझर-टेस्टर हे पूर्ण ब्राउझरच्या रेंडरिंग सुसंगततेऐवजी, फॉर्म/यूआय (UI) च्या अपेक्षित वर्तणुकीच्या चाचण्यांवर अधिक लक्ष केंद्रित करते.

फक्त रस्ट (Rust) भाषेसाठी तयार केलेले रनटाइम.

हे ॲप्लिकेशन एकाच रस्ट (Rust) प्रक्रियेत चालते. यासाठी कोणत्याही बाह्य ब्राउझर, वेबड्रायव्हर (WebDriver) किंवा नोड.js (Node.js)ची आवश्यकता नाही.

निश्चित (परिभाषित) पद्धतीने अंमलबजावणी.

हे उपकरण अशा प्रकारे तयार केले आहे की ते वारंवार चाचणीसाठी वापरले जाऊ शकते. यात कृत्रिम घड्याळ, पूर्वनिश्चित यादृच्छिक संख्या जनरेटर आणि टाइमर नियंत्रित करण्यासाठी विशिष्ट प्रणाली समाविष्ट आहेत.

DOM (डॉक्युमेंट ऑब्जेक्ट मॉडेल) आणि इव्हेंट चाचणी.

हे वैशिष्ट्य ब्राउझरप्रमाणे कार्यप्रणालीला समर्थन देते: यामध्ये निवडक घटक (सेलेक्टर), इनलाइन स्क्रिप्ट अंमलबजावणी, इव्हेंट प्रसार (इव्हेंट प्रोपगेशन) आणि डॉक्युमेंट ऑब्जेक्ट मॉडेल (डीओएम) अद्यतनांचा समावेश आहे.

जलद आणि स्थानिक अभिप्राय.

फॉर्म-आधारित यूजर इंटरफेस (UI) चाचणीसाठी जलद प्रतिसाद प्रणाली, ज्यामुळे अयशस्वी झाल्यास, त्रुटी केवळ निवडक घटक (सेलेक्टर) आणि अपेक्षित/वास्तविक मूल्यांवर केंद्रित राहतील.

सुरुवात कशी करावी.

एचटीएमएल वापरून एक चाचणी प्रणाली (हॉर्नेस) तयार करा, त्यामध्ये विविध क्रिया (इंटरेक्शन) करा आणि डॉम (DOM) च्या परिणामांची पडताळणी करा. लहान चाचणी प्रणालीने सुरुवात करा आणि नंतर टाइमर (timer) आणि मॉक एपीआय (mock APIs) वापरून ती वाढवा.

इन्स्टॉल करा.

कार्गोमध्ये 'ब्राउझर टेस्टर' हे घटक (component) जोडा.

उदाहरण: मूलभूत रचना.

मुख्य एपीआय इंटरफेस.

"हॉर्नेस ॲक्शन्स + असर्शन्स" (Harness Actions + Assertions) चा अर्थ: "हॉर्नेस ॲक्शन्स" म्हणजे कृती आणि "असर्शन्स" म्हणजे दावे किंवा निश्चितता. या दोन्ही गोष्टी एकत्र करून, आपण एखादी गोष्ट अधिक प्रभावीपणे साध्य करू शकतो.

मुख्य 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` यांसारख्या फंक्शन्सचा वापर करून डेटा मिळवण्याच्या प्रक्रियेतील बदल आणि संवाद परिणामांचे अनुकरण करा, जेणेकरून चाचण्या स्वतंत्र राहतील.

ट्रैसेबिलिटी आणि डायग्नोस्टिक्स (Traceability and Diagnostics).

चाचणी अयशस्वी झाल्यास, ट्रेस लॉग सक्षम करा आणि इव्हेंट/टाइमरचा क्रम तपासा. हे इव्हेंटच्या क्रमातील त्रुटी शोधण्यासाठी आणि डीफॉल्ट कृतींच्या कार्यातून माहिती मिळवण्यासाठी उपयुक्त आहे.

प्रणाली कार्यप्रणाली धोरण.

  • 'इव्हल' (eval) हे फंक्शन जाणूनबुजून समर्थित केले जात नाही, कारण त्यामुळे सुरक्षा आणि निश्चितता राखणे महत्त्वाचे आहे.
  • हे सॉफ्टवेअर चाचणीसाठी तयार केले गेले आहे, जे वास्तविक वापराच्या परिस्थितींवर आधारित आहे, परंतु ते १००% ब्राउझर सुसंगतता दर्शवत नाही.
  • बाह्य नेटवर्कमधील इनपुट/आउटपुट (I/O) या व्याख्येत समाविष्ट नाही; चाचणीसाठी 'फेच मॉक'चा वापर करा.

जर तुम्हाला तुमच्या चाचणी प्रणालीसाठी आणखी ब्राउझर एपीआय (API) आवश्यक असतील, तर कृपया एक नवीन विनंती (issue) उघडा आणि त्यात आवश्यक माहिती (किमान आवश्यक तपशील) समाविष्ट करा, जेणेकरून आम्ही व्याप्ती (scope) आणि प्राधान्यक्रम (priority) यावर चर्चा करू शकू.