सरू: कैसे असफल परीक्षण मामलों को फिर से लें और कमांड लाइन पर कंसोल त्रुटि लॉग करें?

हमारे पिछले ब्लॉग में "cypress.io में क्रोम एक्सटेंशन कैसे लोड करें" हमने समझाया

  • क्रोम वेब स्टोर से एक्सटेंशन का अनपैक्ड संस्करण कैसे प्राप्त करें?
  • परीक्षण के तहत हमारे आवेदन में क्रोम एक्सटेंशन कैसे लोड करें?
  • सरू में एक विस्तार को लोड करने के लिए संबंधित कॉन्फ़िगरेशन परिवर्तन क्या आवश्यक हैं?

यहां हम चर्चा करेंगे:

  • हमारी परीक्षण लिपियों में पुन: प्रयास करने की क्षमता कैसे जोड़ें?
  • डिबगिंग को आसान बनाने के लिए कमांड लाइन पर कंसोल आउटपुट लॉग कैसे करें?

चलिए चर्चा करने से पहले हमें पुन: प्रयास करने की क्षमता जोड़ने की आवश्यकता क्यों है? जैसा कि हम जानते हैं कि फ्रंट एंड ऑटोमेशन में परतदार परीक्षण प्रमुख चुनौतियों में से एक हैं और पुन: प्रयास करने की क्षमता को जोड़ना उसी के लिए एक संभावित समाधान हो सकता है जो यादृच्छिक मुद्दों के कारण झूठी विफलताओं को कम करने में मदद करता है।

रिट्री की क्षमता कैसे जोड़ें?

अब तक, सरू फेल परीक्षणों को फिर से करने का एक सीधा तरीका प्रदान नहीं करता है, लेकिन हम अपनी परीक्षण स्क्रिप्ट में एक प्लगइन को एकीकृत करके इस क्षमता को जोड़ सकते हैं। यह प्लगइन परीक्षण स्तर, हुक स्तर, आदि जैसे परीक्षण सूट के हर स्तर पर प्रदान किए गए रिट्री काउंटर के अनुसार फिर से असफल परीक्षण को निष्पादित करेगा।

तो यहाँ यह है:

प्लगइन स्थापित करें:

  • DevD dependencies के लिए प्लगइन जोड़ें
$ npm स्थापित -D सरू-प्लगइन-रिट्रीस
  • सरू / समर्थन / index.js के शीर्ष पर:
की आवश्यकता होती है ( 'सरो-प्लगइन-पुनर्प्रयास')
  • सरू / प्लगइन / index.js के शीर्ष पर:
mod.exports = (on, config) => {आवश्यकता ('cypress-plugin-retries / lib / plugin') (on)} // यह कमांड लाइन पर रिट्री काउंटर को लॉग करने में सक्षम करता है।

प्रयोग

  • सभी चर फ़ाइलों के लिए पुनः प्रयास संख्या निर्धारित करने के लिए पर्यावरण चर CYPRESS_RETRIES का उपयोग करें:

CYPRESS_RETRIES = 2 एनपीएम सरू चलाती है

  • या अपने cypress.json कॉन्फ़िगरेशन फ़ाइल में "env" कुंजी सेट करें, जो सभी विशेष फ़ाइलों के लिए रिट्री नंबर सेट करने के लिए है:
{"env": {"RETRIES": 2}}
  • या प्रति-परीक्षण या प्रति-हुक आधार पर, पुनः प्रयास संख्या निर्धारित करें:
यह ('परीक्षण', () => {Cypress.currentTest.retries (2)})

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

कमांड लाइन पर कंसोल आउटपुट लॉग कैसे करें?

अब सवाल यह है कि सीआई / सीडी पाइपलाइन के साथ परीक्षण मामलों को निष्पादित करने के लिए और यदि कोई विफलता होती है तो विफलता का मूल कारण कैसे पता चलेगा? जैसा कि CI / CD पाइपलाइन टेस्ट में हेडलेस मोड में निष्पादित होता है और कोई UI मौजूद नहीं है इसलिए कंसोल एरर को कैसे जानें? रीट्री क्षमता के रूप में समान सरू कमांड लाइन पर कंसोल त्रुटि को प्रिंट करने के लिए कोई कॉन्फ़िगरेशन प्रदान नहीं करता है तब एक और प्लगइन तस्वीर में आता है।

स्थापना

  • DevD dependencies के लिए प्लगइन जोड़ें
$ npm स्थापित - save-dev सरू-लॉग-टू-आउटपुट

प्रयोग

  • सरू / प्लगइन / index.js के शीर्ष पर:
मॉड्यूल.एक्सपोर्ट्स (ऑन, कॉन्फिगर) => {आवश्यकता ('सरू-प्लगइन-रीट्रीज / लीब / प्लगइन') (ऑन)}

परीक्षण निष्पादन के दौरान हम कमांड लाइन में लॉग निम्नानुसार देखेंगे:

मुझे उम्मीद है कि आपको यह पोस्ट अच्छी लगी होगी, आगे क्या है यह देखने के लिए यहां फॉलो करें।

संदर्भ: https://docs.cypress.io/plugins/index.html#content