TestNG क्या है?
TestNG एक स्वचालन परीक्षण ढांचा है जिसमें NG "अगली पीढ़ी" के लिए है। TestNG JUnit से प्रेरित है जो एनोटेशन (@) का उपयोग करता है। TestNG JUnit के नुकसान को खत्म करता है और एंड-टू-एंड परीक्षण को आसान बनाने के लिए डिज़ाइन किया गया है।
TestNG का उपयोग करके, आप एक उचित रिपोर्ट तैयार कर सकते हैं, और आप आसानी से जान सकते हैं कि कितने टेस्ट केस पास हुए, फेल हुए, और छोड़ दिए गए। आप असफल परीक्षण मामलों को अलग से निष्पादित कर सकते हैं।
उदाहरण के लिए:
- मान लीजिए, आपके पास पांच परीक्षण मामले हैं, प्रत्येक परीक्षण मामले के लिए एक विधि लिखी गई है (मान लें कि प्रोग्राम को मुख्य विधि का उपयोग करके बिना testNG का उपयोग किए लिखा गया है)। जब आप इस प्रोग्राम को पहले चलाते हैं, तो तीन विधियों को सफलतापूर्वक निष्पादित किया जाता है, और चौथा तरीका विफल रहता है। फिर चौथी विधि में मौजूद त्रुटियों को ठीक करें, अब आप केवल चौथी विधि को चलाना चाहते हैं क्योंकि पहले तीन तरीकों को वैसे भी सफलतापूर्वक निष्पादित किया जाता है। यह TestNG का उपयोग किए बिना संभव नहीं है।
- सेलेनियम में TestNG एक विकल्प प्रदान करता है, यानी, टेस्ट-आउटपुट फ़ोल्डर में testng-fail.xml फ़ाइल। यदि आप केवल असफल परीक्षण मामलों को चलाना चाहते हैं तो इसका मतलब है कि आप इस XML फ़ाइल को चलाते हैं। यह केवल असफल परीक्षण मामलों को निष्पादित करेगा।
अवधारणा के ऊपर, आप TestNG पर अधिक जानेंगे, जैसे कि TestNG के क्या फायदे हैं, @test एनोटेशन का उपयोग करके टेस्ट तरीके कैसे बनाएं, इन कक्षाओं को परीक्षण सूट फ़ाइल में कैसे बदलें और ग्रहण के माध्यम से निष्पादित करें और साथ ही कमांड लाइन से भी। ।
इस TestNG ट्यूटोरियल में, आप सीखेंगे
- सेलेनियम के साथ TestNG का उपयोग क्यों करें?
- JUnit पर TestNG के लाभ
- TestNG एनोटेशन का उपयोग करके टेस्ट केस बनाएं
- कैसे एक नया TestNG टेस्ट फ़ाइल बनाने के लिए
- हमारे पहले TestNG टेस्ट केस उदाहरण का कोडिंग
- टेस्ट चल रहा है
- TestNG द्वारा बनाई गई रिपोर्ट की जाँच करना
- TestNG में उपयोग किए गए एनोटेशन
- एकाधिक परीक्षण मामले
- मापदंडों
- एकाधिक पैरामीटर
- TestNG एनोटेशन का सारांश
सेलेनियम के साथ TestNG का उपयोग क्यों करें?
डिफ़ॉल्ट सेलेनियम परीक्षण परीक्षण के परिणामों के लिए एक उचित प्रारूप उत्पन्न नहीं करते हैं। सेलेनियम में TestNG का उपयोग करके, हम परीक्षण के परिणाम उत्पन्न कर सकते हैं।
अधिकांश सेलेनियम उपयोगकर्ता इसके फायदे की वजह से जुनिट से अधिक उपयोग करते हैं। TestNG की बहुत सारी विशेषताएं हैं, लेकिन हम केवल उन सबसे महत्वपूर्ण लोगों पर ध्यान केंद्रित करेंगे जिनका उपयोग हम सेलेनियम में कर सकते हैं। सेलेनियम TestNG की प्रमुख विशेषताएं निम्नलिखित हैं:
- रिपोर्ट को उचित प्रारूप में बनाएँ जिसमें कई परीक्षण मामले चलते हैं, परीक्षण मामलों की संख्या, परीक्षण मामलों की संख्या विफल रही, और परीक्षण मामलों की संख्या छोड़ दी गई।
- एकाधिक परीक्षण मामलों को testng.xml फ़ाइल में परिवर्तित करके अधिक आसानी से समूहीकृत किया जा सकता है। जिसमें आप प्राथमिकताएं बना सकते हैं कि कौन से परीक्षण मामले को पहले निष्पादित किया जाना चाहिए।
- एक ही टेस्ट केस को कई बार लूप्स के बिना निष्पादित किया जा सकता है, केवल 'इनवॉइस काउंट' नामक कीवर्ड का उपयोग करके।
- Testng का उपयोग करके, आप कई ब्राउज़रों पर कई परीक्षण मामलों को निष्पादित कर सकते हैं, अर्थात, क्रॉस ब्राउज़र परीक्षण।
- TestNG फ्रेमवर्क को आसानी से TestNG Maven, Jenkins, आदि जैसे उपकरणों के साथ एकीकृत किया जा सकता है।
- परीक्षण में उपयोग किए गए एनोटेशन पूर्व को समझना बहुत आसान है: @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest
- रिपोर्ट तैयार करने के लिए वेबड्राइवर के पास कोई देशी तंत्र नहीं है। TestNG रिपोर्ट को एक पठनीय प्रारूप में प्रस्तुत कर सकता है जैसे नीचे दिखाया गया है।
- TestNG टेस्ट को कोड करने के तरीके को सरल करता है। हमारे परीक्षणों में एक स्थिर मुख्य विधि की अधिक आवश्यकता नहीं है। क्रियाओं के अनुक्रम को आसानी से समझने वाले एनोटेशन द्वारा नियंत्रित किया जाता है, जिन्हें स्टैटिक होने के लिए तरीकों की आवश्यकता नहीं होती है।
- बिना किसी अपवाद के परीक्षण को समय पर समाप्त किए बिना स्वचालित रूप से TestNG द्वारा नियंत्रित किया जाता है। रिपोर्ट में इन अपवादों को विफल चरणों के रूप में बताया गया है।
JUnit पर TestNG के लाभ
JUnit पर TestNG के तीन प्रमुख लाभ हैं:
- एनोटेशन को समझना आसान है
- टेस्ट के मामलों को अधिक आसानी से समूहीकृत किया जा सकता है
- समानांतर परीक्षण संभव है
TestNG में एनोटेशन कोड की लाइनें हैं जो यह नियंत्रित कर सकती हैं कि उनके नीचे की विधि को कैसे निष्पादित किया जाएगा । वे हमेशा @ प्रतीक से पहले होते हैं। एक बहुत जल्दी और त्वरित TestNG उदाहरण नीचे दिखाया गया है।
एनोटेशन की चर्चा बाद में "TestNG में प्रयुक्त एनोटेशन" नामक अनुभाग में की जाएगी, इसलिए यह पूरी तरह से ठीक है यदि आप अभी तक उपरोक्त TestNG उदाहरण को नहीं समझते हैं। अभी के लिए यह नोट करना महत्वपूर्ण है कि टेस्टनेट में एनोटेशन को जुनेट की तुलना में कोड करना और समझना आसान है।
समानांतर में परीक्षण चलाने की क्षमता TestNG में उपलब्ध है, लेकिन JUnit में नहीं, इसलिए TestNG ढांचे को सेलेनियम ग्रिड का उपयोग करने वाले परीक्षकों की अधिक पसंद है।
TestNG एनोटेशन का उपयोग करके टेस्ट केस बनाएं
अब, हम सीखेंगे कि सेलेनियम में TestNG एनोटेशन का उपयोग करके अपना पहला टेस्ट केस कैसे बनाया जाए:
इससे पहले कि हम एक परीक्षण मामला बनाएं, हमें पहले ग्रहण में एक नया TestNG प्रोजेक्ट सेट करना चाहिए और इसे "FirstTestNGProject" नाम देना चाहिए।
एक नई TestNG परियोजना की स्थापना
चरण 1: फ़ाइल> नया> जावा प्रोजेक्ट पर क्लिक करें
चरण 2: प्रोजेक्ट नाम के रूप में "FirstTestNGProject" टाइप करें फिर अगला क्लिक करें।
चरण 3: अब हम अपनी परियोजना पर TestNG लाइब्रेरीज़ को आयात करना शुरू करेंगे। "लाइब्रेरी" टैब पर क्लिक करें, और फिर "लाइब्रेरी जोड़ें"
… ”चरण 4: लाइब्रेरी जोड़ें संवाद पर, "TestNG" चुनें और अगला क्लिक करें।
चरण 5: समाप्त पर क्लिक करें।
आपको ध्यान देना चाहिए कि TestNG पुस्तकालयों की सूची में शामिल है।
चरण 6: अब हम उन JAR फ़ाइलों को जोड़ेंगे जिनमें सेलेनियम API है। ये फ़ाइलें जावा क्लाइंट ड्राइवर में पाई जाती हैं जिन्हें हमने http://docs.seleniumhq.org/download/ से डाउनलोड किया था जब हम पिछले अध्यायों में सेलेनियम और ग्रहण स्थापित कर रहे थे।
फिर, उस स्थान पर नेविगेट करें जहां आपने सेलेनियम जार फाइलें रखी हैं।
बाहरी JAR को जोड़ने के बाद, आपकी स्क्रीन इस तरह दिखनी चाहिए।
चरण 7: समाप्त पर क्लिक करें और सत्यापित करें कि हमारा FirstTestNGProject ग्रहण के पैकेज एक्सप्लोरर विंडो पर दिखाई देता है।
कैसे एक नया TestNG टेस्ट फ़ाइल बनाने के लिए
अब जब हम इस TestNG ट्यूटोरियल में अपनी परियोजना की स्थापना कर रहे हैं, तो हम एक नई TestNG फ़ाइल बनाएँ।
चरण 1: "src" पैकेज फ़ोल्डर पर राइट-क्लिक करें फिर नया> अन्य चुनें
…चरण 2: TestNG फ़ोल्डर पर क्लिक करें और "TestNG वर्ग" विकल्प चुनें। अगला पर क्लिक करें।
चरण 3: उपयुक्त इनपुट बॉक्स पर नीचे दिए गए मान टाइप करें और समाप्त पर क्लिक करें। ध्यान दें कि हमने अपनी जावा फ़ाइल को "FirstTestNGFile" नाम दिया है।
नीचे दिखाई गई हमारी TestNG फ़ाइल के लिए ग्रहण को स्वचालित रूप से टेम्पलेट बनाना चाहिए।
हमारे पहले TestNG टेस्ट केस उदाहरण का कोडिंग
आइए अब हम अपना पहला टेस्ट केस बनाते हैं जो यह जांच करेगा कि बुध टूर्स का होमपेज सही है या नहीं। अपना कोड टाइप करें जैसा कि नीचे दिए गए TestNG उदाहरण में दिखाया गया है:
पैकेज फर्स्टटैंगपैकेज;आयात org.openqa.selenium। *;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.Assert;आयात org.testng.annotations। *;पब्लिक क्लासpublic String baseUrl = "http://demo.guru99.com/test/newtours/";स्ट्रिंग ड्राइवरपथ = "C: \\ geckodriver.exe";जनता से रिश्ता वेबड्राइवर;@परीक्षासार्वजनिक शून्य सत्यापनहोमपेजिटल () {System.out.println ("फ़ायरफ़ॉक्स ब्राउज़र लॉन्च करना");System.setProperty ("webdriver.gecko.driver", driverPath);ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.get (baseUrl);स्ट्रिंग प्रत्याशित = "वेलकम: मर्करी टूर्स";स्ट्रिंग वास्तविकटील = ड्राइवर.टगिटल ();Assert.assertEquals (वास्तविक शीर्षक, अपेक्षित शीर्षक);Driver.close ();}}
निम्नलिखित पर ध्यान दें।
- TestNG के लिए आपको एक मुख्य () विधि की आवश्यकता नहीं है।
- विधियों को स्थिर होने की आवश्यकता नहीं है।
- हमने @Test एनोटेशन का उपयोग किया। @ टेस्ट का उपयोग यह बताने के लिए किया जाता है कि इसके तहत विधि एक टेस्ट केस है । इस मामले में, हमने अपने परीक्षण के मामले को सत्यापित करने के लिए VerHomepageTitle () विधि निर्धारित की है, इसलिए हमने इसके ऊपर एक '@ परीक्षण' रखा है।
- चूंकि हम TestNG में एनोटेशन का उपयोग करते हैं, इसलिए हमें पैकेज के आयात की आवश्यकता थी।
- हमने एस्टर क्लास का इस्तेमाल किया। परख श्रेणी का उपयोग TestNG में सत्यापन संचालन करने के लिए किया जाता है । इसका उपयोग करने के लिए, हमें org.testng.Assert पैकेज को आयात करना होगा।
आपके पास एक ही TestNG फ़ाइल में कई परीक्षण मामले (इसलिए, कई @ नवीनतम टिप्पणियां) हो सकते हैं। इससे बाद में "टेस्टनजी में इस्तेमाल किए गए एनोटेशन" अनुभाग में अधिक विस्तार से निपटा जाएगा।
टेस्ट चल रहा है
परीक्षण चलाने के लिए, फ़ाइल को केवल ग्रहण में चलाएं जैसा कि आप सामान्य रूप से करते हैं। ग्रहण दो आउटपुट प्रदान करेगा - एक कंसोल विंडो में और दूसरा TestNG परिणाम विंडो पर।
TestNG द्वारा बनाई गई रिपोर्ट की जाँच करना
एक्लिप्स में कंसोल विंडो हमारे परीक्षण मामले के परिणामों की एक पाठ-आधारित रिपोर्ट देती है जबकि TestNG परिणाम विंडो हमें एक ग्राफिकल प्रदान करती है।
HTML रिपोर्ट बनाना
TestNG में HTML प्रारूप में रिपोर्ट उत्पन्न करने की क्षमता है।
चरण 1: हमारे FirstTestNGFile को चलाने के बाद, जिसे हमने पिछले अनुभाग में बनाया था, प्रोजेक्ट एक्सप्लोरर विंडो में प्रोजेक्ट नाम (FirstTestNGProject) पर राइट-क्लिक करें, फिर "ताज़ा करें" विकल्प पर क्लिक करें।
चरण 2: ध्यान दें कि "परीक्षण-आउटपुट" फ़ोल्डर बनाया गया था। इसे विस्तृत करें और एक index.html फ़ाइल देखें। यह HTML फ़ाइल सबसे हालिया परीक्षण रन के परिणामों की एक रिपोर्ट है।
चरण 3: ग्रहण के अंतर्निहित वेब ब्राउज़र में इसे खोलने के लिए उस index.html फ़ाइल पर डबल-क्लिक करें। आप साधारण वेब ब्राउज़रों की तरह ही F5 दबाकर अपना परीक्षण फिर से शुरू करने के बाद किसी भी समय इस पृष्ठ को ताज़ा कर सकते हैं।
TestNG में उपयोग किए गए एनोटेशन
पिछले भाग में, आपको @ टिप्पणी एनोटेशन से परिचित कराया गया है। अब, हम अधिक उन्नत एनोटेशन और उनके उपयोगों का अध्ययन करेंगे।
एकाधिक परीक्षण मामले
हम एक एकल TestNG फ़ाइल में कई @ टिप्पणी का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, @ टेस्ट द्वारा एनोटेट किए गए तरीकों को वर्णानुक्रम में निष्पादित किया जाता है। नीचे दिए गए कोड को देखें। हालाँकि कोड में c_test, a_test, और b_test को वर्णानुक्रम में व्यवस्थित नहीं किया गया है, फिर भी उन्हें इस तरह निष्पादित किया जाएगा।
इस कोड को चलाएँ और जेनरेट किए गए index.html पेज पर, "कालानुक्रमिक दृश्य" पर क्लिक करें।
मापदंडों
यदि आप चाहते हैं कि विधियों को एक अलग क्रम में निष्पादित किया जाए, तो पैरामीटर "प्राथमिकता" का उपयोग करें। पैरामीटर वे कीवर्ड हैं जो एनोटेशन फ़ंक्शन को संशोधित करते हैं ।
- पैरामीटर आपको उनके लिए एक मान निर्दिष्ट करने की आवश्यकता है। आप उनके बगल में एक रख कर do.this करते हैं, और उसके बाद मान लेते हैं।
- पैरामीटर को कोष्ठक की एक जोड़ी में संलग्न किया जाता है, जिसे एनोटेशन के ठीक बाद रखा जाता है जैसे नीचे दिखाया गया कोड स्निपेट।
TestNG सबसे बड़ी प्राथमिकता मूल्य के साथ सबसे बड़े @ @ टिप्पणी पर अमल करेगा। लगातार बने रहने के लिए आपके प्राथमिकता मूल्यों की कोई आवश्यकता नहीं है।
TestNG HTML रिपोर्ट इस बात की पुष्टि करेगी कि विधियों को प्राथमिकता के आरोही मूल्य के आधार पर निष्पादित किया गया था।
एकाधिक पैरामीटर
"प्राथमिकता" के अलावा, @Test के पास एक और पैरामीटर है, जिसे "alwaysRun" कहा जाता है, जिसे केवल "सही" या "गलत" पर सेट किया जा सकता है। एकल एनोटेशन में दो या अधिक मापदंडों का उपयोग करने के लिए, उन्हें एक अल्पविराम से अलग करें जैसे कि नीचे दिखाया गया है।
@ टेस्ट (प्राथमिकता = 0, हमेशा की तरह = सत्य)
@BeforeTest और @AfterTest
@ सबसे पहले |
इस एनोटेशन के तहत तरीकों को TestNG फ़ाइल में पहले परीक्षण मामले से पहले निष्पादित किया जाएगा । |
@ बाद में |
TestNG फ़ाइल में सभी परीक्षण मामलों के निष्पादित होने के बाद इस एनोटेशन के तरीकों को निष्पादित किया जाएगा । |
नीचे दिए गए कोड पर विचार करें।
पैकेज फर्स्टटैंगपैकेज;आयात org.openqa.selenium। *;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.Assert;आयात org.testng.annotations। *;पब्लिक क्लासpublic String baseUrl = "http://demo.guru99.com/test/newtours/";स्ट्रिंग ड्राइवरपथ = "C: \\ geckodriver.exe";जनता से रिश्ता वेबड्राइवर;@ सबसे पहलेसार्वजनिक शून्य लॉन्चब्रोसर () {System.out.println ("फ़ायरफ़ॉक्स ब्राउज़र लॉन्च करना");System.setProperty ("webdriver.gecko.driver", driverPath);ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.get (baseUrl);}@परीक्षासार्वजनिक शून्य सत्यापनहोमपेजिटल () {स्ट्रिंग प्रत्याशित = "वेलकम: मर्करी टूर्स";स्ट्रिंग वास्तविकटील = ड्राइवर.टगिटल ();Assert.assertEquals (वास्तविक शीर्षक, अपेक्षित शीर्षक);}@ बाद मेंसार्वजनिक शून्य समाप्तिDriver.close ();}}
तालिका और उपर्युक्त कोड द्वारा प्रस्तुत तर्क को लागू करते हुए, हम यह अनुमान लगा सकते हैं कि किन तरीकों से अनुक्रम निष्पादित किया जाएगा:
- 1 सेंट - लॉन्चब्रोसर ()
- 2 एन डी - सत्यापनहोमपेजिटल ()
- 3 आरडी - टर्मिनेटब्रॉसर ()
एनोटेशन ब्लॉकों के प्लेसमेंट को कालानुक्रमिक क्रम को प्रभावित किए बिना इंटरचेंज किया जा सकता है जिसके द्वारा उन्हें निष्पादित किया जाएगा । आइए TestNG उदाहरण के साथ समझते हैं और एनोटेशन ब्लॉकों को फिर से व्यवस्थित करने का प्रयास करते हैं ताकि आपका कोड नीचे के समान दिखाई दे।
पैकेज फर्स्टटैंगपैकेज;आयात org.openqa.selenium। *;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.Assert;आयात org.testng.annotations। *;पब्लिक क्लासpublic String baseUrl = "http://demo.guru99.com/test/newtours/";स्ट्रिंग ड्राइवरपथ = "C: \\ geckodriver.exe";जनता से रिश्ता वेबड्राइवर;@ आफ्टरेस्ट // जंबल्डसार्वजनिक शून्य समाप्तिDriver.close ();}@BeforeTest // जुंबिशसार्वजनिक शून्य लॉन्चब्रोसर () {System.out.println ("फ़ायरफ़ॉक्स ब्राउज़र लॉन्च करना");System.setProperty ("webdriver.gecko.driver", driverPath);ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.get (baseUrl);}@ टेस्ट // जंबलसार्वजनिक शून्य सत्यापनहोमपेजिटल () {स्ट्रिंग प्रत्याशित = "वेलकम: मर्करी टूर्स";स्ट्रिंग वास्तविकटील = ड्राइवर.टगिटल ();Assert.assertEquals (वास्तविक शीर्षक, अपेक्षित शीर्षक);}}
ऊपर दिए गए कोड को चलाएं और ध्यान दें
@BeforeMethod और @AfterMethod
@BeforeMethod |
इस एनोटेशन के तहत तरीकों को प्रत्येक परीक्षण मामले में प्रत्येक विधि से पहले निष्पादित किया जाएगा । |
@ आफ्टरमेथोड |
प्रत्येक परीक्षण मामले में प्रत्येक विधि के बाद इस एनोटेशन के तरीकों को निष्पादित किया जाएगा । |
मर्करी टूर्स में, मान लीजिए कि हम नीचे दिए गए दो लिंक के लक्ष्य पृष्ठों के शीर्षक को सत्यापित करना चाहते हैं।
हमारे परीक्षण का प्रवाह होगा:
- होमपेज पर जाएं और इसके शीर्षक को सत्यापित करें।
- पंजीकरण पर क्लिक करें और उसके लक्ष्य पृष्ठ के शीर्षक को सत्यापित करें।
- होमपेज पर वापस जाएं और सत्यापित करें कि क्या अभी भी सही शीर्षक है।
- समर्थन पर क्लिक करें और उसके लक्ष्य पृष्ठ के शीर्षक को सत्यापित करें।
- होमपेज पर वापस जाएं और सत्यापित करें कि क्या अभी भी सही शीर्षक है।
नीचे दिए गए कोड से पता चलता है कि कैसे @BeforeMethod और @AfterMethod का उपयोग ऊपर वर्णित परिदृश्य को कुशलतापूर्वक निष्पादित करने के लिए किया जाता है।
पैकेज फर्स्टटैंगपैकेज;आयात org.openqa.selenium। *;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.Assert;आयात org.testng.annotations। *;@परीक्षापब्लिक क्लासpublic String baseUrl = "http://demo.guru99.com/test/newtours/";स्ट्रिंग ड्राइवरपथ = "C: \\ geckodriver.exe";जनता से रिश्ता वेबड्राइवर;सार्वजनिक स्ट्रिंग अपेक्षित = अशक्त;सार्वजनिक स्ट्रिंग वास्तविक = अशक्त;@ सबसे पहलेसार्वजनिक शून्य लॉन्चब्रोसर () {System.out.println ("फ़ायरफ़ॉक्स ब्राउज़र लॉन्च करना");System.setProperty ("webdriver.gecko.driver", driverPath);ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.get (baseUrl);}@BeforeMethodसार्वजनिक शून्य सत्यापनहोमपेजिटल () {स्ट्रिंग प्रत्याशित = "वेलकम: मर्करी टूर्स";स्ट्रिंग वास्तविकटील = ड्राइवर.टगिटल ();Assert.assertEquals (वास्तविक शीर्षक, अपेक्षित शीर्षक);}@ टेस्ट (प्राथमिकता = 0)सार्वजनिक शून्य रजिस्टर () {Driver.findElement (By.linkText ("REGISTER"))। क्लिक करें ();अपेक्षित = "रजिस्टर: बुध पर्यटन";वास्तविक = Driver.getTitle ();Assert.assertEquals (वास्तविक, अपेक्षित);}@ टेस्ट (प्राथमिकता = 1)सार्वजनिक शून्य समर्थन () {Driver.findElement (By.linkText ("समर्थन"))। क्लिक करें ();अपेक्षित = "निर्माणाधीन: बुध टूर्स";वास्तविक = Driver.getTitle ();Assert.assertEquals (वास्तविक, अपेक्षित);}@ आफ्टरमेथोडसार्वजनिक शून्य goBackToHomepage () {Driver.findElement (By.linkText ("Home"))। क्लिक करें ();}@ बाद मेंसार्वजनिक शून्य समाप्तिDriver.close ();}}
इस परीक्षण को निष्पादित करने के बाद, आपके TestNG को निम्नलिखित अनुक्रम की रिपोर्ट करनी चाहिए।
सीधे शब्दों में कहें तो @BeforeMethod में वे तरीके होने चाहिए, जो आपको प्रत्येक टेस्ट केस से पहले चलाने की जरूरत है, जबकि @AfterMethod में वे तरीके होने चाहिए, जिन्हें आपको प्रत्येक टेस्ट केस के बाद चलाने की जरूरत है ।
TestNG एनोटेशन का सारांश
@BeforeSuite : इस सुइट में सभी परीक्षण चलने से पहले एनोटेट विधि चलाई जाएगी।
@ आफ्टरसूइट : एनोटेट पद्धति को इस सूट में सभी परीक्षणों के बाद चलाया जाएगा।
@BeforeTest : एनोटेट पद्धति को टैग के अंदर कक्षाओं से संबंधित किसी भी परीक्षण विधि से पहले चलाया जाएगा।
@ आफ्टरटेस्ट : टैग के अंदर कक्षाओं से संबंधित सभी परीक्षण विधियों के चलने के बाद एनोटेट पद्धति को चलाया जाएगा।
@BeforeGroups : यह कॉन्फ़िगरेशन विधि समूहों की सूची पहले चलेगी। इस पद्धति को गारंटी दी जाती है कि इनमें से किसी भी समूह से संबंधित पहली परीक्षा विधि के शीघ्र ही चलने की आवश्यकता है।
@ आफ्टरग्रुप्स : उन समूहों की सूची जो इस कॉन्फ़िगरेशन विधि के बाद चलेंगे। इस पद्धति को अंतिम परीक्षण विधि के बाद शीघ्र ही चलाने की गारंटी दी जाती है जो इनमें से किसी भी समूह से संबंधित है।
@BeforeClass : वर्तमान वर्ग में पहला परीक्षण विधि लागू करने से पहले एनोटेट विधि चलाई जाएगी।
@AfterClass : वर्तमान वर्ग में सभी परीक्षण विधियों को चलाने के बाद एनोटेट पद्धति को चलाया जाएगा।
@BeforeMethod : एनोटेट विधि प्रत्येक परीक्षण विधि से पहले चलाई जाएगी।
@AfterMethod : एनोटेट विधि प्रत्येक परीक्षण विधि के बाद चलाई जाएगी।
@ परीक्षण : एनोटेट विधि एक परीक्षण मामले का एक हिस्सा है
निष्कर्ष
- TestNG एक परीक्षण ढाँचा है जो सेलेनियम परीक्षणों को समझने में आसान है और रिपोर्ट बनाने में आसान है जो समझने में आसान है।
- JUnit पर TestNG के मुख्य लाभ निम्नलिखित हैं।
- एनोटेशन का उपयोग करना और समझना आसान है।
- टेस्ट मामलों को अधिक आसानी से समूहीकृत किया जा सकता है।
- TestNG हमें समानांतर परीक्षण बनाने की अनुमति देता है।
- ग्रहण में कंसोल विंडो एक पाठ-आधारित परिणाम उत्पन्न करती है, जबकि TestNG विंडो अधिक उपयोगी है क्योंकि यह हमें परीक्षण के परिणाम और अन्य सार्थक विवरणों का एक ग्राफिकल आउटपुट देता है जैसे:
- प्रत्येक विधि के रनटाइम्स।
- कालानुक्रमिक क्रम जिसके द्वारा विधियों को निष्पादित किया गया था
- TestNG HTML- आधारित रिपोर्ट बनाने में सक्षम है।
- एनोटेशन सामान्य जावा टेस्टएनजी तरीकों की तरह ही मापदंडों का उपयोग कर सकते हैं।
- TestNG Dataprovider परीक्षण फ़ंक्शन में मापदंडों को पारित करने का एक तरीका है जो एक एकल निष्पादन में परीक्षण मामलों में विभिन्न मूल्यों को पारित करता है।