आप सभी सेलेनियम में TestNG एनोटेशन के बारे में पता करने की आवश्यकता है



सेलेनियम में TestNG एनोटेशन पर यह लेख आपको विभिन्न एनोटेशन को समझने में मदद करेगा जो TestNG उदाहरणों की मदद से सेलेनियम में समर्थन करता है।

जब से की अवधारणा है पेश किया गया है, परीक्षण के कई तरीके विकसित हुए हैं, प्रतिमान बदल गए हैं लेकिन आवश्यकताओं को किसी भी तरह स्थिर रहने के लिए जीत। ऐसी ही एक पद्धति है TestNG जो हमें एनोटेशन की मदद से परीक्षण मामलों को कोड के विभिन्न वर्गों में समूहित करने में मदद करता है। लेकिन ये कैसे काम करता है? इस अवधारणा को TestNG एनोटेशन पर इस लेख के माध्यम से समझने दें ।

मैं इस लेख में नीचे दिए गए विषयों को शामिल करूंगा:





TestNG का परिचय

TestNG के लिए खड़ा है अगली पीढ़ी का परीक्षण करें और यह एक ओपन-सोर्स टेस्ट ऑटोमेशन फ्रेमवर्क है जो JUnit और NUnit से प्रेरित है। कुंआ, TestNG सिर्फ प्रेरित नहीं है बल्कि, यह इन दो रूपरेखाओं का उन्नत संस्करण है। तो यहाँ क्या उन्नयन है? TestNG के साथ उन्नयन यह है कि यह कोड में परीक्षण एनोटेशन, ग्रुपिंग, प्राथमिकता, मानकीकरण और अनुक्रमण तकनीक जैसी अतिरिक्त कार्यक्षमता प्रदान करता है जो पहले संभव नहीं था।

TestNG का परिचय - TestNG एनोटेशन - Edurekaयह न केवल परीक्षण मामलों का प्रबंधन करता है, बल्कि टेस्टएनजी का उपयोग करके परीक्षणों की विस्तृत रिपोर्ट भी प्राप्त की जा सकती है। एक विस्तृत सारांश होगा जो परीक्षण के मामलों की संख्या प्रदर्शित करेगा जो असफल रहे हैं। इसके अलावा, कीड़े को सटीक रूप से स्थित किया जा सकता है और जल्द से जल्द तय किया जा सकता है। अब जब आप जानते हैं कि TestNG क्या है, तो आइए देखें कि सेलेनियम में TestNG का उपयोग क्यों करें।



सेलेनियम में TestNG का उपयोग क्यों करें?

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

TestNG भी निम्नलिखित सुविधाओं का समर्थन करता है:

  • यह एक उचित प्रारूप में रिपोर्ट उत्पन्न करता है जिसमें कई निष्पादित परीक्षण मामले, असफल परीक्षण मामलों की संख्या, और परीक्षण मामलों को छोड़ दिया गया है।
  • एकाधिक परीक्षण मामलों को TestNG.xml फ़ाइल में परिवर्तित करके अधिक आसानी से समूहीकृत किया जा सकता है। यहां, आप परीक्षण मामलों को निष्पादित करने के लिए प्राथमिकताएं निर्धारित कर सकते हैं।
  • TestNG का उपयोग करके, आप कई ब्राउज़रों पर कई परीक्षण मामलों को निष्पादित कर सकते हैं, अर्थात। क्रॉस-ब्राउज़र परीक्षण
  • टेस्टिंग फ्रेमवर्क को आसानी से मावेन, जेनकिन्स आदि जैसे उपकरणों के साथ एकीकृत किया जा सकता है।

अब जब आप जानते हैं कि TestNG क्या है और इसका उपयोग क्यों किया जाता है, तो आगे बढ़ते हैं और सेलेनियम में TestNG का समर्थन करने वाले विभिन्न एनोटेशन को जानते हैं।

TestNG एनोटेशन

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



TestNG एनोटेशन के प्रकार:

नीचे उन एनोटेशनों की सूची दी गई है, जो सेलेनियम में TestNG का समर्थन करते हैं।

  • @ बीफ्रामथोड: इस एनोटेशन के साथ एक विधि को हर से पहले निष्पादित किया जाएगा @परीक्षा एनोटेट विधि।
  • @ आफ्टरमेथोड: यह एनोटेशन को प्रत्येक के बाद निष्पादित किया जाएगा @परीक्षा एनोटेट विधि।
  • @कक्षा से पहले: इस एनोटेशन को पहले निष्पादित किया जाएगा पहला @ टस्ट विधि निष्पादन। यह प्रति कक्षा केवल एक बार चलता है।
  • @AfterClass: टी वर्तमान वर्ग में सभी परीक्षण विधियों को चलाने के बाद उनके एनोटेशन को निष्पादित किया जाएगा
  • @ शीर्ष: इस एनोटेशन के साथ एक विधि को पहले निष्पादित किया जाएगा पहला @ टस्ट एनोटेट विधि।
  • @ बाद: इस एनोटेशन के साथ एक विधि निष्पादित की जाएगी सब @परीक्षा एनोटेट किए गए तरीके उन वर्गों के निष्पादन को पूरा करते हैं, जो अंदर से नीच हैं TestNG.xml फ़ाइल।
  • @BeforeSuite: यह एनोटेशन चलेगा केवल एक बार पहले सुइट में सभी परीक्षण चल चुके हैं
  • @ आफ्टरसाइट: इस एनोटेशन के साथ एक विधि चलेगी एक बार के बाद सुइट में सभी परीक्षणों का निष्पादन चला है
  • @BeforeGroups: यह एनोटेट विधि चलेगी पहले टेस्ट रन से पहले उस विशिष्ट समूह का।
  • @ परिणाम: यह एनोटेट विधि चलेगी सभी परीक्षण विधियों के बाद उस समूह का अपना निष्पादन पूरा करता है।

तो यह सब TestNG में एनोटेशन के बारे में है। अब आगे बढ़ते हैं और समझते हैं कि TestNG का उपयोग करके पहला टेस्ट केस कैसे लिखना है।

TestNG एनोटेशन का उपयोग करके टेस्ट केस बनाना

TestNG एनोटेशन का उपयोग करके परीक्षण मामलों को बनाने में शामिल विभिन्न चरण इस प्रकार हैं:

  1. एक प्रोजेक्ट बनाएं और TestNG लाइब्रेरी जोड़ें।
  2. एक क्लास फाइल बनाएं और प्रोग्राम को कोड करें
  3. अंत में, XML फ़ाइल लिखें और इसे TestNG सूट पर निष्पादित करें।

यदि आप TestNG का उपयोग करके टेस्ट केस लिखने के बारे में अधिक जानकारी प्राप्त करना चाहते हैं, तो कृपया इस लेख को देखें TestNG ट्यूटोरियल अब, आगे बढ़ते हैं और समझते हैं कि TestNG एनोटेशन आपको परीक्षण मामलों को समूह बनाने और अपने प्रोग्राम को कॉन्फ़िगर करने में कैसे मदद करेगा।

टेस्ट केस 1:

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

पैकेज co.edureka.pages आयात org.openqa.selenium.WebDriver आयात org.openqa.selenium.chrome.ChromeDriver आयात org.testng.Assert आयात org.estnot.annotations.AfterTest आयात org.testng.annotations.BeforeTest आयात org.test आयात करें। .annotations.Test public class AnnotationExample {जनता स्ट्रिंग स्ट्रिंग आधार = 'https://www.edureka.co/' स्ट्रिंग ड्राइवरपथ = 'C: //Users//Neha_Vaidya//Desktop//cheskedriver_win32//chromedriver.exe' जनता से रिश्ता वेबडेयरी ड्राइवर @BeforeTest सार्वजनिक शून्य लॉन्चब्रोसर () {System.out.println ('लॉन्च करने वाला क्रोम ब्राउज़र') System.setProperty ('webdriver.chrome.driver', DriverPath = ड्राइवर = नया ChromeDriver () ड्राइवर.गेट (baseUrl)} @Test public void verifyHomepageTitle () स्ट्रिंग अपेक्षित टाइटल = 'इंस्ट्रक्टर-लेड ऑनलाइन ट्रेनिंग 24X7 लाइफटाइम सपोर्ट के साथ @AfterTest पब्लिक void terminateBrowser () {driver.close ()}}

मूल रूप से, मैं यह जांचना चाहता हूं कि एड्रेका वेबपेज का वास्तविक शीर्षक अपेक्षित शीर्षक के साथ मेल खाता है या नहीं। इसलिए, मैं पहली बार using का उपयोग कर रहा हूं @BeforeTest ' का उपयोग करते हुए Edureka वेबसाइट के माध्यम से ब्राउज़र ड्राइवर का उल्लेख और व्याख्या करना Driver.get () तरीका। तो ये ऐसे चरण हैं जो परीक्षण से पहले किए जाने चाहिए।

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

आप स्नैपशॉट में देख सकते हैं कि परीक्षण मामला डिफ़ॉल्ट परीक्षण और सुइट पर सफलतापूर्वक चलता है। साथ ही, टेस्ट केस भी पास हो गया और फेल भी नहीं हुआ।

कैसे सरणी php मुद्रित करने के लिए

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

एनोटेशन के निष्पादन का प्रवाह उपरोक्त स्नैपशॉट में दिखाया गया है। अब इसे समझने के लिए एक और उदाहरण देखें।

टेस्ट केस 2:

पैकेज co.edureka.pages आयात org.testng.annotations.AfterClass आयात org.testng.annotations.AfterMethod आयात org.testng.annotations.AfterSuite आयात org.testng.annotations.AfterTest आयात org.testng.annotations.BeforeClass आयात org.testng आयात करें .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.printlnn। ('टेस्ट केस 1')} // टेस्ट केस 2 @ टेस्ट सार्वजनिक शून्य testCase2 () {System.out.println ('टेस्ट केस 2')} @BeforeMethod सार्वजनिक शून्य से पहलेMethod () 'System.out.println ('पहले) विधि ')) @ @ आफ्टर मैथोड सार्वजनिक शून्य आफ्टरमेथोड () {System.out.println (' आफ्टर मेथड ')} @BeforeClass public void beforeClass () {System.out.println (' क्लास से पहले ')} @AfterClass public void afterClass () ) {System.out.println ('क्लास के बाद')} @BeforeTest सार्वजनिक शून्य से पहले () {System.out.println ('टेस्ट से पहले')} @AfterTest सार्वजनिक शून्य afterTest () {System.out.println ('टेस्ट के बाद')} @BeforeSuite public void beforeSuite () {System.out.println ('सूट से पहले')} @AfterSuite public void afterSuite () {System.out.println () 'सूट के बाद')}}

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

[RemoteTestNG] का पता लगाया TestNG संस्करण 6.14.2 सूट से पहले वर्ग से पहले टेस्ट से पहले विधि टेस्ट केस 1 के बाद विधि से पहले विधि टेस्ट केस 2 के बाद विधि के बाद कक्षा के बाद परीक्षण के बाद: testCase1 PASSED: testCase2 =========== ================================== डिफ़ॉल्ट टेस्ट टेस्ट चलाएं: 2, विफलताएं: 0, कौशल: 0 =============================================== सूट के बाद = ============================================== डिफ़ॉल्ट सूट कुल परीक्षण रन: 2, विफलताएं: 0, कौशल: 0 ============================================= ========

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

मुझे आशा है कि आपने अवधारणाओं को समझ लिया है और इसने आपके ज्ञान में मूल्य जोड़ दिया है। अब, यदि आप सेलेनियम में अधिक जानकारी प्राप्त करना चाहते हैं, तो आप इस लेख को देख सकते हैं ।

अगर आपको सेलेनियम में यह 'TestNG एनोटेशन मिला ' से मिलता जुलता, इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें सेलेनियम में TestNG एनोटेशन लेख और हम आपको वापस मिलेंगे।