सरू: एंड टू एंड टेस्टिंग के लिए सरू के साथ शुरुआत कैसे करें।

सरू क्या है

सरू एक खुला स्रोत जावास्क्रिप्ट एंड-टू-एंड टेस्टिंग फ्रेमवर्क है जो कुछ बंडल किए गए टूल के शीर्ष पर बैठता है।

  1. मोचा, एक सुविधा संपन्न जावास्क्रिप्ट परीक्षण रूपरेखा है।
  2. चाय, एक बीडीडी / टीडीडी अभिकथन पुस्तकालय।

सरू एक एंड-टू-एंड फ्रेमवर्क है जिसे ब्रायन मान ने बनाया था। यह टेस्ट कैफ़े के समान है, इसे नोड के शीर्ष पर बनाया गया था, जिसमें सेलेनियम पर कोई निर्भरता नहीं थी, और यह एक स्टैंडअलोन परीक्षण ढांचा है जो जावास्क्रिप्ट का समर्थन करता है। टेस्ट कैफ़े के विपरीत, उपयोग की जाने वाली लाइब्रेरीज़ ऐसी थीं, जिनके साथ काम करने के लिए अधिकांश डेवलपर्स का उपयोग किया जाता है: मोचा और चाय, जो विवरण () और यह () ब्लॉकों का उपयोग करते हुए, अपने वर्तमान लाइब्रेरी के वर्तमान सेटअप के साथ अच्छी तरह से उधार देता है। विशेषताएं जो सरू में शामिल हैं:

  1. डीबग करना आसान: डिबगिंग एकीकरण परीक्षण दर्दनाक हो सकते हैं, लेकिन सरू में नहीं। चाहे हेडलेस या नॉन-हेडलेस स्टेट में टेस्ट चल रहा हो, सीएलआई (हेडलेस) या क्रोम देवटूल (नॉन-हेडलेस) में आउटपुट के जरिए कोड को डीबग करना आसान है
  2. समय यात्रा: सरू आपकी परीक्षाओं के चलते स्नैपशॉट लेता है। प्रत्येक चरण में वास्तव में क्या हुआ यह देखने के लिए कमांड लॉग इन कमांड पर होवर करें।
  3. डिबग एबिलिटी: यह अनुमान लगाना बंद कर दें कि आपके परीक्षण विफल क्यों हो रहे हैं। डेवलपर टूल जैसे परिचित टूल से सीधे डिबग करें। हमारी पठनीय त्रुटियां और स्टैक के निशान बिजली की तेजी से डिबगिंग करते हैं।
  4. स्वचालित प्रतीक्षा: कभी भी अपने परीक्षण में प्रतीक्षा या नींद नहीं जोड़ें। सरू स्वचालित रूप से आगे बढ़ने से पहले आदेशों और कथनों के लिए प्रतीक्षा () करता है। और कोई सिंक नरक नहीं।
  5. लगातार परिणाम: हमारी वास्तुकला सेलेनियम या वेब ड्राइवर का उपयोग नहीं करती है। तेज, सुसंगत और विश्वसनीय परीक्षणों के लिए नमस्ते कहें, जो परत-मुक्त हैं।
  6. स्क्रीनशॉट और वीडियो: सीएलआई से चलने पर विफलता या स्वचालित रूप से आपके पूरे परीक्षण सूट के वीडियो पर देखे गए स्क्रीनशॉट।
  7. अब सरू संस्करण 4 मोज़िला फ़ायरफ़ॉक्स और एज ब्राउज़र का समर्थन करता है।

सरू की कुछ कमियां हैं:

1. कभी भी एक से अधिक ब्राउज़र उदाहरण का समर्थन न करें। यह मुख्य रूप से क्रोम, इलेक्ट्रॉन ब्राउज़र का समर्थन करता है।

2. मूल ब्राउज़र की घटनाओं का समर्थन नहीं किया गया: वर्तमान में, सरू में देशी ब्राउज़र की घटनाओं का समर्थन नहीं किया जाता है, जिसमें फ़ाइल अपलोड शामिल हैं। इसका प्रभाव है कि हम फ़ाइल अपलोड को ठीक से परखने में सक्षम हैं

परीक्षण के तरीके

एक से अधिक परीक्षण विधि है:

  1. यूनिट परीक्षण यह पुष्टि करता है कि कोड की इकाइयाँ अपेक्षित रूप से काम करती हैं।
  2. एकीकरण परीक्षण सत्यापित करता है कि कोड के विभिन्न भाग एक एपीआई और डेटाबेस की तरह काम करते हैं।
  3. एंड-टू-एंड (ई 2 ई) परीक्षण उपयोगकर्ता के व्यवहार का अनुकरण करके सिस्टम के सभी भागों की पुष्टि करता है। एंड-टू-एंड एक ऐसी प्रक्रिया का वर्णन करता है जो शुरू से लेकर अंत तक एक विधि या सेवा लेता है और एक पूर्ण कार्यात्मक समाधान प्रदान करता है।

सरू स्थापना।

1. नोड डाउनलोड करें। (Https://nodejs.org/en/download/)

2. पर्यावरण चर में नोड होम सेट करें।

3. आधार सरू वर्किंग फोल्डर बनाएं।

4. विजुअल स्टूडियो कोड एडिटर डाउनलोड करें। (https://code.visualstudio.com/download)

5. Generate Package.json ("n np install cypress - save-dev" कमांड द्वारा सॉफ्टवेयर स्थापित करें)

6. सरू निर्भरताओं को डाउनलोड करें। (npm i cypress -D)

7. सिप्रेस टेस्ट रनर (नोड_मॉड्यूल्स \ .बीन \ सिप्रेस ओपन) शुरू करें।

सरू स्थापना पर अधिक जानकारी देखने के लिए, url - https://docs.cypress.io/guides/getting-started/installing-cypress.html#System-requirements पर क्लिक करें

फ़ोल्डर

जब आप एक नया प्रोजेक्ट जोड़ते हैं और पहली बार सरू चलाते हैं, तो यह सुझाए गए फ़ोल्डर संरचना को मचान करता है:

1. फिक्स्चर स्थिर डेटा के बाहरी टुकड़े हैं जो आपके परीक्षणों द्वारा उपयोग किए जा सकते हैं। आप आमतौर पर उनका उपयोग cy.fixture () कमांड के साथ करते हैं और सबसे अधिक तब जब आप नेटवर्क रिक्वेस्ट को स्टबल कर रहे हों।

2. परीक्षण फाइलें डिफ़ॉल्ट रूप से सरू / एकीकरण में स्थित हैं। सरू में इस्तेमाल होने वाले हर कमांड का एक उदाहरण देखने के लिए, अपने एकीकरण फ़ोल्डर में उदाहरण फ़ोल्डर खोलें।

3. प्लगइन फाइलें आपको सरू के आंतरिक व्यवहार को बदलने, संशोधित करने या विस्तारित करने में सक्षम बनाती हैं। डिफ़ॉल्ट रूप से, साइप्रेस में प्लगइन्स फ़ाइल सरू / प्लगइन्स / इंडेक्स शामिल होते हैं। इससे पहले कि वह चलाए गए हर एक युक्ति फ़ाइल से पहले।

4. सपोर्ट फाइलें कस्टम कमांड्स या ग्लोबल ओवरराइड जैसे पुन: प्रयोज्य व्यवहार को रखने के लिए एक शानदार स्थान है जिसे आप अपनी सभी कल्पना फाइलों पर लागू और उपलब्ध करना चाहते हैं।

इस लेख में, मैं दिखाता हूं कि आपके सामने के अंत के साथ अंत-टू-एंड परीक्षण चलाने के लिए सरू का उपयोग कैसे करें। मैं परीक्षण मामलों को लिखता हूं जो उपयोगकर्ता के व्यवहार को उपयोगकर्ता में प्रवेश करने की तरह अनुकरण करते हैं।

पहले परीक्षण

सरू टेस्ट में पहला कदम ब्राउजर में ऐप के पेज पर जाना है।

एकीकरण फ़ोल्डर में फ़ाइल लॉगिन बनाएँ। हमें साइप्रेस टेस्ट रनर को इंटीग्रेशन टेस्ट की सूची में प्रदर्शित करना चाहिए और किसी भी टेस्ट को चलाने के लिए, जिसे हम बस क्लिक और रन करना चाहते हैं। यह ब्राउज़र को खोलेगा जिसे हम (क्रोम, इलेक्ट्रॉन) की तरह चुनेंगे।

आइए एक पहला परीक्षण जोड़ें जो लॉगिन पृष्ठ पर जाता है। संपूर्ण साइरस एपीआई वैश्विक साइबर वस्तु के तहत उपलब्ध है। URL पर जाने के लिए हम cy.visit (url) का उपयोग कर सकते हैं।

सरू ने मोचा के बीडीडी सिंटैक्स को अपनाया है, जो परीक्षणों को व्यवस्थित रखने और पढ़ने में आसान बनाने का एक तरीका प्रदान करता है। यहां हम वर्णन () और यह () का उपयोग करते हैं।

सुनिश्चित करें कि हम सही पृष्ठ पर पुनर्निर्देशित हो जाते हैं। एक तत्व का चयन करने के लिए, हम cy.get ('CSS लोकेटर') कमांड का उपयोग करते हैं। लोकेटर मूल्य में यह केवल सीएसएस मूल्यों पर काम करता है। हम एक्स-पाथ की तरह कोई भी अन्य लोकेटर प्रकार प्रदान कर सकते हैं।

जब आप अपना परीक्षण मामला चलाते हैं तो यह क्रोम ब्राउज़र में ऐसा दिखता है। एक-एक करके हर एक टेस्ट केस को ऑटोमैटिकली एक्साइट करें।

हम परीक्षण धावक में जोड़े गए एक परख को देख सकते हैं कि यह जांचने के लिए कि हमें जो अपेक्षित मूल्य मिल रहा है वह सही है या नहीं।

यह ग्रीन सिग्नल दिखाता है जब परीक्षण का मामला गुजरता है। यह दिखाता है कि परीक्षण को निष्पादित करने में कितना समय लगता है।

जब कोई भी परीक्षण मामला विफल हो जाता है तो यह उस परीक्षण मामले पर रेड क्रॉस साइन दिखाता है जिसे हम निष्पादित करते हैं।

सरू हमें यहां मदद करता है, और हमें अपने कोड को देखने की भी आवश्यकता नहीं है। हम ब्राउज़र विंडो के ऊपरी बाएं कोने में क्रॉसहेयर आइकन दबाकर चयनकर्ता खेल का मैदान खोल सकते हैं।

जब हम घटक पर क्लिक करते हैं, तो हमें शीर्ष बार में आवश्यक कोड दिखाई देता है। एक के साथ नीले आइकन का मतलब है कि इस तत्व के लिए केवल एक मैच था। यदि एक से अधिक है, तो हमें इसे सीएसएस में एक अनोखे तरीके से परिभाषित करने की आवश्यकता है। यहां इस छवि में यह उन तत्वों को दिखाता है जो अद्वितीय और एकल तत्व हैं।

सरू डैशबोर्ड एक ऐसी सेवा है जो आपको परीक्षण रिकॉर्ड करने की सुविधा प्रदान करती है। डैशबोर्ड आपको प्रदान करता है कि आपका परीक्षण कब हुआ था। आप डैशबोर्ड पर निम्नलिखित कार्य कर सकते हैं:

  1. Passed, Failed, Skipped और लंबित परीक्षण देखने के लिए।
  2. परीक्षण का मामला विफल होने पर स्क्रीनशॉट देखें।
  3. विफल परीक्षणों के पूरे स्टैक ट्रेस प्राप्त करें।
  4. जब चल रहा हो तो अपने परीक्षण मामलों का वीडियो रिकॉर्ड करें।
  5. परीक्षण के संबंधित समूह देखें।
  6. प्रबंधित करें कि आपके रिकॉर्ड किए गए परीक्षण डेटा तक पहुंच है

यह कुछ विशेषता है जो डिफ़ॉल्ट रूप से प्रदान की जाती है आपको सरू डैशबोर्ड के लिए अधिक सुविधाओं के लिए भुगतान करना होगा। सरू डैशबोर्ड पर इन कामों को करने के लिए आपको सरू डैशबोर्ड पर साइन अप करना होगा।

उपयोगकर्ता cypress.json में परियोजना की आवश्यकता के अनुसार Cypress.json कॉन्फ़िगरेशन फ़ाइल को संपादित कर सकते हैं और इसे सहेज सकते हैं।

निष्कर्ष

सरू जैसे उपकरण के साथ, परीक्षण स्वचालन अधिक सीधा और मजेदार हो जाता है। यदि आपने जावास्क्रिप्ट में परीक्षण लिखे हैं, तो सरू पहले से ही परिचित है।