TestNG ट्यूटोरियल

⚡ स्मार्ट सारांश

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

  • 🧱 कोर फ्रेमवर्क: TestNG फैली JUnit टिप्पणियों के साथ विचार, समूहpingऔर समानांतर परीक्षण निष्पादन के लिए Selenium सुइट्स।
  • एनोटेशन प्रवाह को संचालित करते हैं: @Test, @BeforeMethod, @AfterMethod, @BeforeTest और @AfterTest अनुक्रम सेटअप, परीक्षण और विघटन।
  • Eclipse सेटअप: एक निर्माण TestNG प्रोजेक्ट में जोड़ें TestNG पुस्तकालय और Selenium पहले JAR फ़ाइलें बनाएं, फिर विजार्ड से टेस्ट क्लास जनरेट करें।
  • 📊 रिपोर्टिंग: TestNG यह टेस्ट-आउटपुट फोल्डर में टेक्स्ट, ग्राफिकल और एचटीएमएल रिपोर्ट तैयार करता है, जिसमें कालानुक्रमिक दृश्य भी शामिल हैं।
  • ⚙️ पैरामीटर: निष्पादन क्रम को नियंत्रित करने और परीक्षणों में डेटा फीड करने के लिए priority, alwaysRun और dataProvider का उपयोग करें।
  • 🤖 एआई बूस्ट: एआई कोडिंग सहायक गति बढ़ाते हैं TestNG क्लास जनरेशन, लोकेटर अपडेट और डेटाप्रोवाइडर स्केफोल्डिंग।

TestNG ट्यूटोरियल

एचएमबी क्या है? TestNG?

TestNG यह एक ऑटोमेशन टेस्टिंग फ्रेमवर्क है, जिसमें "NG" का अर्थ "नेक्स्ट जेनरेशन" है। TestNG से प्रेरित है JUnit और उपयोग करता है Java परीक्षण प्रवाह को नियंत्रित करने के लिए एनोटेशन (@) का उपयोग किया जाता है। यह कई समस्याओं को दूर करता है। JUnitइसकी पिछली सीमाओं को दूर करने और इसे बनाने के लिए डिज़ाइन किया गया है। अंत-से-अंत परीक्षण आसान है.

- TestNG आप एक सटीक रिपोर्ट तैयार कर सकते हैं और तुरंत देख सकते हैं कि कितने टेस्ट पास हुए, कितने फेल हुए या कितने स्किप किए गए। आप चाहें तो केवल फेल हुए टेस्ट को ही दोबारा चला सकते हैं।

उदाहरण के लिए:

  • मान लीजिए आपके पास पाँच टेस्ट केस हैं, जिनमें से प्रत्येक अपने स्वयं के मेथड में लिखा गया है। TestNGतीन सफल होते हैं; चौथा असफल हो जाता है। चौथे को ठीक करने के बाद, आप केवल उसी को दोबारा चलाना चाहते हैं, क्योंकि पहले तीन सफल हो चुके हैं। यह काम सामान्य main() मेथड कोड से करना मुश्किल है।
  • TestNG प्रदान करता है एक testng-failed.xml में दायर test-output फ़ोल्डर। उस XML फ़ाइल को चलाने से केवल असफल मामलों को ही पुनः निष्पादित किया जाता है।

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

क्यों का उपयोग करें TestNG साथ में Selenium?

डिफ़ॉल्ट रूप से, Selenium परीक्षणों से अच्छे प्रारूप में परिणाम प्राप्त नहीं होते हैं। TestNG टेस्ट रनर को कनेक्ट करने पर, यह एक संरचित रिपोर्ट तैयार करता है जिसे आप टीम के साथ साझा कर सकते हैं।

बहुत से Selenium उपयोगकर्ता पसंद करते हैं TestNG के ऊपर JUnit इसके व्यापक फीचर सेट के कारण। मुख्य विशेषताएं Selenium यह है:

  • उन रिपोर्टों में परीक्षण मामलों की संख्या शामिल होती है जिन्हें चलाया गया, उत्तीर्ण किया गया, असफल किया गया और छोड़ दिया गया।
  • आसान समूहping टेस्ट केसों के माध्यम से testng.xml फाइल, निष्पादन प्राथमिकताओं के साथ।
  • लूप का उपयोग किए बिना एक परीक्षण को कई बार दोहराएं invocationCount.
  • कई ब्राउज़रों पर कई परीक्षण चलाएँ — क्रॉस-ब्राउज़र परीक्षण समर्थन करें.
  • मेवन के साथ सहज एकीकरण, Jenkinsऔर अन्य सीआई टूलिंग।
  • Readable उदाहरण के लिए, @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest जैसे एनोटेशन।
  • Selenium वेबड्राइवर में कोई नेटिव रिपोर्टिंग सुविधा नहीं है; TestNG यह नीचे दिए गए उदाहरण की तरह एक साफ-सुथरी HTML रिपोर्ट के साथ उस कमी को पूरा करता है।

TestNG एचटीएमएल रिपोर्ट का नमूना Selenium परीक्षण

  • TestNG इससे टेस्ट कोड सरल हो जाता है। अब आपको स्टैटिक मेन मेथड की आवश्यकता नहीं है; एनोटेशन तय करते हैं कि क्या चलेगा और कब चलेगा।

सामान्य Java मुख्य विधि के साथ परीक्षण वर्ग संरचना

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

  • अनहैंडल्ड एक्सेप्शन को सुचारू रूप से संभाला जाता है। TestNGइन्हें पूरी प्रक्रिया को समाप्त किए बिना असफल चरणों के रूप में रिपोर्ट किया जाता है।

के फायदे TestNG के ऊपर JUnit

TestNG यह तीन प्रमुख लाभ प्रदान करता है JUnit:

  • एनोटेशन को समझना और उपयोग करना आसान होता है।
  • टेस्ट केसों को कम मेहनत से समूहीकृत और प्राथमिकता दी जा सकती है।
  • पैरेलल टेस्ट एग्जीक्यूशन को डिफ़ॉल्ट रूप से सपोर्ट किया जाता है।

एनोटेशन क्या है? TestNG?

एनोटेशन में TestNG ये कोड की वे पंक्तियाँ हैं जिन्हें किसी मेथड के ऊपर रखा जाता है ताकि यह नियंत्रित किया जा सके कि उसे कैसे निष्पादित किया जाए। ये हमेशा @ चिह्न से शुरू होते हैं। एक सरल उदाहरण नीचे दिया गया है।

उदाहरण TestNG ऊपर दिए गए एनोटेशन Java तरीका

एनोटेशन को इस अनुभाग में विस्तार से समझाया गया है। “में प्रयुक्त एनोटेशन TestNG" इस ट्यूटोरियल में आगे चलकर, इसलिए ऊपर दिया गया उदाहरण केवल अपेक्षाओं को स्पष्ट करने के लिए है। TestNG एनोटेशन कोडिंग और पढ़ने में आसान होते हैं। JUnit ये समतुल्य हैं, और परीक्षण चलाते समय ये आवश्यक हैं। Selenium ग्रिड जहां समानांतर निष्पादन मायने रखता है।

टेस्ट केस कैसे लिखें TestNG

लेखन एक TestNG टेस्ट केस में तीन चरण होते हैं:

  1. अपना व्यावसायिक तर्क लिखें और उसे रखें TestNG प्रत्येक विधि के ऊपर टिप्पणियाँ।
  2. क्लास का नाम, ग्रुप का नाम और पैकेज का नाम जैसे मेटाडेटा जोड़ें।
  3. चलाएं TestNG आप अपने IDE या कमांड लाइन से क्लास का चयन कर सकते हैं।

एक टेस्ट केस बनाएं TestNG एनोटेशन

अब हम अपना पहला टेस्ट केस बनाएंगे TestNG एनोटेशन में Seleniumटेस्ट लिखने से पहले, एक नया सेटअप करें। TestNG में परियोजना Eclipse और इसे नाम दें प्रथमTestNGपरियोजना.

एक नया सेटअप करना TestNG परियोजना

चरण 1) क्लिक करें फ़ाइल > नया > Java परियोजना.

Eclipse नया मेनू बनाने के लिए Java परियोजना

चरण 2) दर्ज प्रथमTestNGपरियोजना प्रोजेक्ट का नाम डालें और क्लिक करें अगला.

नया Java First नाम वाला प्रोजेक्ट विज़ार्डTestNGपरियोजना

चरण 3) आयात करें TestNG पुस्तकालय। क्लिक करें पुस्तकालय टैब और फिर लाइब्रेरी जोड़ें….

लाइब्रेरी टैब में लाइब्रेरी जोड़ें विकल्प के साथ Eclipse

चरण 4) में लाइब्रेरी जोड़ें संवाद, चुनें TestNG और क्लिक करें अगला.

चुनना TestNG ऐड लाइब्रेरी डायलॉग में

चरण 5) क्लिक करें अंत.

ऐड लाइब्रेरी विज़ार्ड को पूरा करना

TestNG अब यह पुस्तकालयों की सूची में दिखाई देना चाहिए।

TestNG पुस्तकालयों की सूची में दिखाई दे रहा है

चरण 6) उन JAR फ़ाइलों को जोड़ें जिनमें शामिल हैं Selenium एपीआई। ये यहाँ से आते हैं। Java क्लाइंट ड्राइवर डाउनलोड किया गया selenium.dev/downloads.

Add External JARs डायलॉग में Eclipse

उस फ़ोल्डर में जाएं जहां Selenium JAR फ़ाइलें संग्रहीत की जाती हैं।

चुनना Selenium बिल्ड पाथ के लिए JAR फ़ाइलें

बाहरी JAR फ़ाइलें जोड़ने के बाद, स्क्रीन इस तरह दिखनी चाहिए।

Selenium JAR फ़ाइलें लाइब्रेरी सूची में जोड़ दी गई हैं

चरण 7) क्लिक करें अंत। नया प्रथमTestNGपरियोजना पैकेज एक्सप्लोरर में दिखाई देता है।

प्रथमTestNGप्रोजेक्ट पैकेज एक्सप्लोरर में दिखाई दे रहा है

नया कैसे बनाएं TestNG परीक्षण फ़ाइल

प्रोजेक्ट तैयार होने पर, एक नया बनाएं TestNG फ़ाइल.

चरण 1) राइट-क्लिक करें src फ़ोल्डर और चुनें नया > अन्य….

src फ़ोल्डर से नया अन्य मेनू Eclipse

चरण 2) इसका विस्तार करें TestNG फ़ोल्डर, चुनें TestNG कक्षा, और क्लिक करें अगला.

TestNG नए विजार्ड में क्लास विकल्प

चरण 3) नीचे दिखाए गए मान दर्ज करें और क्लिक करें अंत। Java फ़ाइल का नाम है प्रथमTestNGपट्टिका.

TestNG फर्स्ट के साथ क्लास विजार्डTestNGफ़ाइल मान

चरण 4) Eclipse उत्पन्न करता है TestNG नीचे टेम्पलेट दिखाया गया है।

जनरेट किया गया TestNG क्लास टेम्पलेट में Eclipse संपादक

अपना पहला कोड लिखना TestNG परीक्षण का मामला

पहला बनाएं परीक्षण का मामला जो शीर्षक को सत्यापित करता है Mercury पर्यटन मुखपृष्ठ.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @Test
    public void verifyHomepageTitle() {
        System.out.println("launching firefox browser");
        // Selenium 4 ships Selenium Manager, so the driver path is no longer required.
        driver = new FirefoxDriver();
        driver.get(baseUrl);
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
        driver.quit();
    }
}

ध्यान देने योग्य बातें:

  • TestNG जरूरत नहीं है main() विधि.
  • विधियों का स्थिर होना आवश्यक नहीं है।
  • RSI @परीक्षा एनोटेशन चिह्न verifyHomepageTitle() एक परीक्षण मामले के रूप में।
  • टिप्पणियाँ इसमें मौजूद हैं org.testng.annotations.* पैकेज.
  • RSI जोर से कक्षा org.testng.Assert ड्राइव सत्यापन।

आप एक ही कॉलम में कई @Test एनोटेशन रख सकते हैं। TestNG फ़ाइल। हम उस पर चर्चा करेंगे। “में प्रयुक्त एनोटेशन TestNG" अनुभाग।

परीक्षण चला रहा है

फ़ाइल पर राइट-क्लिक करें और इसे रन करें। TestNG परीक्षण. Eclipse यह दो आउटपुट देता है — कंसोल विंडो में एक टेक्स्ट परिणाम और एक ग्राफिकल परिणाम। TestNG परिणाम विंडो.

TestNG परीक्षा परिणाम सहित परिणाम विंडो

Eclipse कंसोल विंडो के साथ TestNG पाठ आउटपुट

रिपोर्ट की जाँच द्वारा बनाया गया TestNG

कंसोल विंडो टेक्स्ट-आधारित सारांश प्रदान करती है जबकि TestNG परिणाम विंडो में एक ग्राफिकल दृश्य दिखाया गया है।

पाठ बनाम ग्राफ़िकल TestNG परिणाम तुलना

HTML रिपोर्ट तैयार करना

TestNG यह पूर्ण एचटीएमएल रिपोर्ट भी तैयार कर सकता है।

चरण 1) चलने के बाद प्रथमTestNGपट्टिकाप्रोजेक्ट पर राइट-क्लिक करें और चुनें ताज़ा करना.

रिफ्रेश विकल्प TestNG में परियोजना Eclipse

चरण 2) A परीक्षण-आउटपुट एक फ़ोल्डर दिखाई देगा। उसे खोलें और उसमें ढूंढें। index.html — सबसे हालिया रन की HTML रिपोर्ट।

index.html हाइलाइट किया हुआ test-output फ़ोल्डर

चरण 3) Doubleक्लिक करें index.html इसे अंदर खोलने के लिए Eclipse's ब्राउज़र। अगली बार चलाने के बाद रीफ़्रेश करने के लिए F5 दबाएँ।

TestNG एचटीएमएल इंडेक्स रिपोर्ट प्रस्तुत की गई Eclipse

एनोटेशन का उपयोग किया गया TestNG

आप @Test एनोटेशन देख चुके हैं। इस अनुभाग के शेष भाग में सबसे उपयोगी उन्नत एनोटेशन शामिल हैं।

एकाधिक परीक्षण मामले

एक एकल TestNG एक फ़ाइल में कई @Test एनोटेशन हो सकते हैं। डिफ़ॉल्ट रूप से, @Test एनोटेशन वाले मेथड वर्णमाला क्रम में निष्पादित होते हैं। नीचे दिए गए कोड में, मेथड c_test, a_test, तथा b_test स्रोत क्रम की परवाह किए बिना वर्णानुक्रम में चलाएँ।

एक ही में कई @Test विधियाँ TestNG कक्षा

कोड चलाएं और खोलें index.html। क्लिक करें कालानुक्रमिक दृश्य.

एकाधिक का कालानुक्रमिक दृश्य TestNG तरीकों

पैरामीटर्स

डिफ़ॉल्ट क्रम को ओवरराइड करने के लिए, इसका उपयोग करें priority पैरामीटर। पैरामीटर ऐसे कीवर्ड होते हैं जो एनोटेशन के व्यवहार को संशोधित करते हैं।

  • एक मान निर्दिष्ट करें =.
  • नीचे दिखाए गए अनुसार, एनोटेशन के ठीक बाद कोष्ठक में पैरामीटर को लपेटें।

TestNG पैरामीटर और मान सिंटैक्स के साथ एनोटेशन

TestNG यह @Test एनोटेशन को सबसे कम प्राथमिकता से लेकर सबसे अधिक प्राथमिकता तक निष्पादित करता है। प्राथमिकता संख्याएँ लगातार होना आवश्यक नहीं है।

@Test प्राथमिकता पैरामीटर सहित पूरा कोड

एचटीएमएल रिपोर्ट इस बात की पुष्टि करती है कि विधियाँ बढ़ती प्राथमिकता क्रम में निष्पादित की गईं।

TestNG रिपोर्ट में प्राथमिकता के क्रम में चलाई गई विधियों को दर्शाया गया है।

एकाधिक पैरामीटर

के अतिरिक्त priority, @Test स्वीकार करता है alwaysRun पैरामीटर (सही या गलत)। एक ही एनोटेशन में दो या दो से अधिक पैरामीटर का उपयोग करने के लिए, उन्हें अल्पविराम से अलग करें:

@Test(priority = 0, alwaysRun = true)

@Test एनोटेशन के अंदर एकाधिक पैरामीटर का उदाहरण

@BeforeTest और @AfterTest

@ सबसे पहले इस एनोटेशन के अंतर्गत विधियाँ चलती हैं पहले टेस्ट केस से पहले TestNG पट्टिका.
@ बाद में इस एनोटेशन के अंतर्गत विधियाँ चलती हैं सभी परीक्षण मामलों के बाद TestNG फ़ाइल समाप्त.

नीचे दिए गए कोड पर विचार करें.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

तालिका और कोड से, हम अनुमान लगा सकते हैं कि अनुक्रम इस प्रकार होगा:

  • प्रथम — launchBrowser()
  • दूसरा — verifyHomepageTitle()
  • तीसरा — terminateBrowser()

स्रोत फ़ाइल में एनोटेशन ब्लॉकों का स्थान उनके निष्पादन क्रम को प्रभावित नहीं करता है। नीचे दिखाए अनुसार विधियों को पुनर्व्यवस्थित करने का प्रयास करें।

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @AfterTest                              // Jumbled
    public void terminateBrowser() {
        driver.quit();
    }

    @BeforeTest                             // Jumbled
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test                                   // Jumbled
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }
}

कोड चलाएं और परिणाम सत्यापित करें।

TestNG अव्यवस्थित टिप्पणियों के बावजूद परिणाम क्रम की पुष्टि करता है

@BeforeMethod और @AfterMethod

@BeforeMethod इस एनोटेशन के अंतर्गत विधियाँ चलती हैं प्रत्येक परीक्षण विधि से पहले.
@ आफ्टरमेथोड इस एनोटेशन के अंतर्गत विधियाँ चलती हैं प्रत्येक परीक्षण विधि के बाद.

In Mercury टूर्स, मान लीजिए कि हम होमपेज से पहुंचने वाले दो लक्ष्य पृष्ठों के शीर्षकों को सत्यापित करना चाहते हैं।

तीन लिंक से Mercury टूर्स होमपेज

टेस्ट की प्रक्रिया इस प्रकार है:

  • होमपेज खोलें और उसके शीर्षक की पुष्टि करें।
  • रजिस्टर पर क्लिक करें और उसके लक्ष्य पृष्ठ का शीर्षक सत्यापित करें।
  • होमपेज पर वापस जाएं और शीर्षक की पुष्टि करें।
  • समर्थन पर क्लिक करें और उसके लक्ष्य पृष्ठ का शीर्षक सत्यापित करें।
  • होमपेज पर वापस जाएं और शीर्षक को दोबारा सत्यापित करें।

नीचे दिया गया कोड दर्शाता है कि @BeforeMethod और @AfterMethod दोहराए जाने वाले चरणों को कैसे संभालते हैं।

package firsttestngpackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;
    public String expected = null;
    public String actual = null;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @BeforeMethod
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @Test(priority = 0)
    public void register() {
        driver.findElement(By.linkText("REGISTER")).click();
        expected = "Register: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @Test(priority = 1)
    public void support() {
        driver.findElement(By.linkText("SUPPORT")).click();
        expected = "Under Construction: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @AfterMethod
    public void goBackToHomepage() {
        driver.findElement(By.linkText("Home")).click();
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

टेस्ट चलाने के बाद, TestNG नीचे अनुक्रम की रिपोर्ट दी गई है।

TestNG BeforeMethod और AfterMethod का उपयोग करके अनुक्रम की रिपोर्ट करें

संक्षेप में: सेटअप के चरणों को अंदर रखें @BeforeMethod और सफाई या नेविगेशन रीसेट अंदर @ आफ्टरमेथोड इसलिए प्रत्येक टेस्ट केस एक ज्ञात स्थिति से शुरू और समाप्त होता है।

का सारांश TestNG एनोटेशन

  • @BeforeSuite: यह टेस्ट सूट में मौजूद सभी टेस्ट से पहले चलता है।
  • @आफ्टरसुइट: यह सूट में सभी परीक्षणों के बाद चलता है।
  • @BeforeTest: किसी भी टेस्ट मेथड के चलने से पहले चलता है जो क्लास के अंदर मौजूद होता है। टैग।
  • @आफ्टरटेस्ट: यह किसी क्लास के अंदर मौजूद सभी टेस्ट मेथड्स के बाद चलता है। टैग।
  • @BeforeGroups: यह किसी भी सूचीबद्ध समूह से संबंधित पहले परीक्षण विधि से ठीक पहले चलता है।
  • @आफ्टरग्रुप्स: यह सूचीबद्ध समूहों में से किसी एक से संबंधित अंतिम परीक्षण विधि के तुरंत बाद चलता है।
  • @कक्षा से पहले: यह वर्तमान क्लास में पहले टेस्ट मेथड से पहले चलता है।
  • @क्लास के बाद: यह वर्तमान क्लास में सभी टेस्ट मेथड्स के बाद चलता है।
  • @BeforeMethod: यह प्रत्येक परीक्षण विधि से पहले चलता है।
  • @AfterMethod: यह प्रत्येक परीक्षण विधि के बाद चलता है।
  • @परीक्षा: यह विधि को एक परीक्षण मामले के रूप में चिह्नित करता है।

अक्सर पूछे जाने वाले प्रश्न

JUnit 5 आधुनिक JUnit जुपिटर एपीआई और एक्सटेंशन मॉडल के साथ। TestNG अभी भी समानांतर निष्पादन, सूट-स्तरीय समूह में अग्रणी हैping, dependsOn, और DataProvider. कई Selenium टीमें चुनती हैं TestNG संपूर्ण सुइट्स के लिए और JUnit यूनिट टेस्ट के लिए 5।

parallel=”methods” या parallel=”classes” के साथ-साथ एक thread-count विशेषता जोड़ें। testng.xml के अंदर टैग। TestNG फिर परीक्षण विधियों को थ्रेड्स में वितरित करता है, जो इसके लिए आदर्श है Selenium ग्रिड या क्लाउड क्रॉस-ब्राउज़र रन।

@DataProvider कई डेटा सेट को एक ही @Test मेथड में फीड करता है। प्रोवाइडर में प्रत्येक पंक्ति एक निष्पादन है। यह डेटा-संचालित प्रक्रियाओं के लिए मानक पैटर्न है। Selenium फॉर्म, सर्च बॉक्स या लॉगिन स्क्रीन के विरुद्ध परीक्षण।

हां. AI कोडिंग सहायक उत्पन्न करते हैं TestNG स्केलेटन तैयार करना, @Test विधियों को एनोटेट करना, पेज ऑब्जेक्ट क्लास बनाना और सैंपल CSV से डेटाप्रोवाइडर एरे का ड्राफ्ट तैयार करना, जिससे स्केफोल्डिंग का समय काफी कम हो जाता है।

जेनरेटिव एआई testng-results.xml और Surefire लॉग्स को प्रोसेस करता है, समान विफलताओं को क्लस्टर करता है, संभावित मूल कारणों का सुझाव देता है और Jira टिकट तैयार करता है। इससे अस्थिर परीक्षणों की छंटनी में लगने वाला समय कम हो जाता है और QA प्रमुखों को CI फिक्सेस को प्राथमिकता देने में मदद मिलती है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: