असफल परीक्षण मामलों को कैसे निष्पादित करें TestNG: Selenium वेबड्राइवर

इस ट्यूटोरियल में आप सीखेंगे-

बनाओ Selenium परियोजना

प्रोजेक्ट तैयार करें

चरण 1) In Eclipse, बनाएं Java नए पर क्लिक करके प्रोजेक्ट Java परियोजना

बनाओ Selenium परियोजना

चरण 2) इस चरण में,

  1. प्रोजेक्ट का नाम बताएँ
  2. निष्पादन वातावरण चुनें
  3. प्रोजेक्ट लेआउट विकल्प चुनें
  4. “समाप्त” बटन पर क्लिक करें।

बनाओ Selenium परियोजना

जब आप फ़िनिश बटन पर क्लिक करेंगे तो “TestProject” जावा प्रोजेक्ट बन जाएगा। “TestProject” इस तरह दिखेगा।

बनाओ Selenium परियोजना

चरण 3) उस नए बनाए गए प्रोजेक्ट को खोलें। आप पैकेज एक्सप्लोरर में “src” फ़ोल्डर देख पाएंगे।

  1. प्रोजेक्ट पर राइट क्लिक करें और “नया” चुनें
  2. विकल्प पैकेज चुनें

बनाओ Selenium परियोजना

चरण 4) इस चरण में,

  1. src फ़ोल्डर ब्राउज़ करें और पैकेज चुनें
  2. पैकेज का नाम दें और
  3. अंत में, फिनिश बटन पर क्लिक करें। (पैकेज नाम->com.test)

बनाओ Selenium परियोजना

“फिनिश” पर क्लिक करने के बाद प्रोजेक्ट संरचना इस तरह दिखाई देगी:

बनाओ Selenium परियोजना

चरण 5) इस चरण में,

  1. अब, नए बनाए गए पैकेज पर राइट क्लिक करें और
  2. विकल्प “क्लास” चुनें।

बनाओ Selenium परियोजना

एक नयी विंडो खुलेगी।

चरण 6) इस चरण में,

  1. “क्लास” का नाम दें
  2. संशोधक चुनें
  3. सुपरक्लास java.lang.object को ब्राउज़ करें और चुनें
  4. समाप्त बटन पर क्लिक करें.

यहाँ, आप दो वर्ग बना रहे हैं: डेमोए, डेमोबी.

सबसे पहले क्लास DemoA बनाएं.

बनाओ Selenium परियोजना

जब आप “Finish” बटन पर क्लिक करेंगे। तब यह इस तरह क्लास बनाएगा:

बनाओ Selenium परियोजना

इसी तरह, क्लास DemoB बनाएं, जब आप “Finish” बटन पर क्लिक करेंगे तो क्लास नीचे की तरह दिखाई देगी-

बनाओ Selenium परियोजना

चरण 7) यदि आपने स्थापित किया है TestNG लाइब्रेरी पर बस क्लिक करें Java प्रोजेक्ट—>गुण.

बनाओ Selenium परियोजना

चरण 8) अब गुण विंडो में,

  1. पर क्लिक करें Java पथ बनाएँ
  2. लाइब्रेरीज़ पर क्लिक करें
  3. 'लाइब्रेरी जोड़ें' पर क्लिक करें।

बनाओ Selenium परियोजना

अगला

  1. “TestNg” पर क्लिक करें और फिर
  2. "अगला" पर क्लिक करें।

बनाओ Selenium परियोजना

फिर “समाप्त” बटन पर क्लिक करें।

बनाओ Selenium परियोजना

इसके बाद, निम्नलिखित कोड लिखें.

क्लास डेमो के लिएA

बनाओ Selenium परियोजना

कोड स्पष्टीकरण:

  • ड्राइवर.मैनेज().विंडो().मैक्सिमाइज़();

यह लाइन ब्राउज़र विंडो को अधिकतम करेगी।

  • ड्राइवर.get(https://www.google.co.in);

यह पंक्ति URL फ़ील्ड में निर्दिष्ट URL दर्ज करेगी।

  • ड्राइवर.findElement(By.name(“q”)).sendKeys(“Hi”);

यह पंक्ति "Google" खोज बॉक्स की पहचान करेगी और आपके द्वारा sendKeys विधि का उपयोग करके भेजा गया डेटा दर्ज करेगी।

आउटपुट: उपरोक्त प्रोग्राम में त्रुटियाँ हैं, इसलिए इसे निष्पादित करना संभव नहीं है।

इसी प्रकार क्लास डेमोबी के लिए,

बनाओ Selenium परियोजना

लाल रंग से रेखांकित शब्द यहाँ त्रुटियाँ हैं। क्योंकि आपने अभी तक jar फ़ाइल नहीं जोड़ी है जिसमें ये क्लास और इंटरफ़ेस हैं। उपरोक्त कोड में मौजूद त्रुटियों को हटाने के लिए संबंधित jar फ़ाइल जोड़ें। पर राइट क्लिक करें Java प्रोजेक्ट पर जाएँ और “गुण” चुनें।

बनाओ Selenium परियोजना

चरण 8) संपत्ति विंडो में,

  1. पर क्लिक करें Java बाएँ नेविगेशन फलक पर पथ बनाएँ.
  2. लाइब्रेरीज़ टैब पर क्लिक करें,
  3. बाहरी JARs जोड़ें पर क्लिक करें और चुनें Selenium-स्टैंडअलोन जार फ़ाइल
  4. “ओके” बटन पर क्लिक करें।

बनाओ Selenium परियोजना

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

@test के लिए यदि यह अभी भी त्रुटियाँ दिखा रहा है तो माउस को वहाँ ले जाएँ। यह संभावित विकल्प दिखाएगा। फिर add पर क्लिक करें TestNG लाइब्रेरी विकल्प। इसी तरह अन्य 'क्लास' के लिए भी ऐसा करें।

दोनों क्लासों यानि DemoA, DemoB के अंदर अपना कोड लिखने के बाद अगले चरण पर जाएँ।

चरण 9) इस चरण में,

  1. प्रोजेक्ट पर राइट-क्लिक करें और
  2. 'lib' नामक फ़ोल्डर बनाने के लिए विकल्प फ़ोल्डर का चयन करें और testNG jar फ़ाइल और selenium jar फ़ाइल (selenium-server-standalone) पेस्ट करें ).(परीक्षण और Selenium-server-standalone jar फ़ाइल को वेब से डाउनलोड करके अपने सिस्टम में स्टोर करना होगा। आपको मैन्युअल रूप से उस फ़ोल्डर में जाना होगा और इन दो jars को कॉपी करना होगा और eclipse में मौजूद 'lib' फ़ोल्डर पर राइट क्लिक करके पेस्ट पर क्लिक करना होगा)

बनाओ Selenium परियोजना

चरण 10) इस चरण में,

1. मूल फ़ोल्डर का चयन करें

2. फ़ोल्डर का नाम 'lib' रखें और (lib फ़ोल्डर में इन दो jar फ़ाइलों को जोड़ने का प्राथमिक उद्देश्य यह है कि, कमांड प्रॉम्प्ट से निष्पादित करते समय आप कंपाइलर को बता सकते हैं कि प्रोग्राम के निष्पादन के लिए आवश्यक jar फ़ाइलें इस स्थान पर मौजूद हैं। यदि आप eclipse से testng.xml निष्पादित करना चाहते हैं तो इस lib फ़ोल्डर की बिल्कुल भी आवश्यकता नहीं है)

3. 'समाप्त' बटन पर क्लिक करें

बनाओ Selenium परियोजना

टेस्टिंग और Selenium-server-standalone jar फ़ाइल को वेब से डाउनलोड करके अपने सिस्टम में स्टोर करना होगा। आपको मैन्युअल रूप से उस फ़ोल्डर में जाना होगा और इन दो jars को कॉपी करना होगा और eclipse में मौजूद 'lib' फ़ोल्डर पर राइट क्लिक करके पेस्ट पर क्लिक करना होगा।

फ़ोल्डर बनाने के बाद, अगला चरण हमारे प्रोग्रामों, जो कि DemoA और DemoB हैं, को Testng.xml फ़ाइल में परिवर्तित करना होगा।

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

चरण 1) इस चरण में,

  1. पैकेज के अंतर्गत मौजूद दो जावा फ़ाइलों का चयन करें और राइट क्लिक करें।
  2. “testNG” नामक विकल्प चुनें।
  3. “testNG” में कन्वर्ट करने के लिए क्लिक करें।

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

चरण 2) एक नई विंडो खुलेगी। इस विंडो में विवरण दर्ज करें जैसे

  1. स्थान
  2. सुइट का नाम
  3. परीक्षण का नाम
  4. कक्षा चयन
  5. समानांतर मोड
  6. “समाप्त” बटन पर क्लिक करें

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

फिर जावा प्रोजेक्ट के तहत testng.xml फ़ाइल बनाई जाएगी, और यह इस तरह दिखाई देगी।

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

(यदि आप उस testng.xml फ़ाइल को चलाना चाहते हैं तो पैकेज एक्सप्लोरर में बाएं नेविगेशन फलक पर मौजूद उस testng.xml फ़ाइल पर राइट क्लिक करें और run as पर क्लिक करें TestNG सुइट.)

चरण 3) Testng.xml सुइट फ़ाइल इस तरह दिखाई देगी:

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

यदि आप DemoA क्लास को पहले निष्पादित करना चाहते हैं, तो उस पूरी लाइन को हटा दें और उसे DemoB क्लास से पहले इस प्रकार जोड़ें:

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

चरण 4) Testng.xml फ़ाइल को निष्पादित करने के बाद, यह परिणाम को निम्न तरीके से प्रदर्शित करेगा। (चूंकि आपने System.out.println() का उपयोग करके कोई निष्पादन योग्य कथन नहीं लिखा है, इसलिए यह कंसोल विंडो पर कुछ भी प्रिंट नहीं कर रहा है)।

परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG

यह उन तरीकों में से एक है जिससे आप एक्लिप्स के माध्यम से परीक्षण निष्पादित करेंगे, यदि आप उसी testng.xml सुइट फ़ाइल को निष्पादित करना चाहते हैं जिसमें कमांड प्रॉम्प्ट से DemoA, DemoB जैसी दो क्लास फ़ाइलें हैं तो आपको नीचे दिए गए चरणों का पालन करना होगा।

अब कमांड प्रॉम्प्ट खोलें और प्रोजेक्ट वर्कस्पेस पर जाएं।

निष्पादित करना TestNG कमांड लाइन के माध्यम से

आपको प्रोजेक्ट स्पेस का स्थान ढूंढना होगा

चरण 1) सबसे पहले दायाँ क्लिक करें Java प्रोजेक्ट और गुण विकल्प का चयन करें। गुण विंडो में संसाधन विकल्प का चयन करें।

निष्पादित करना TestNG कमांड लाइन के माध्यम से

चरण 2) अब जब आप बाएं नेविगेशन पैन में मौजूद “संसाधन” लिंक पर क्लिक करेंगे तो यह दिखाएगा कि प्रोजेक्ट वास्तव में कहाँ संग्रहीत है

निष्पादित करना TestNG कमांड लाइन के माध्यम से

परियोजना कार्यक्षेत्र है C:\Users\User\Desktop\Guru99\TestProject. तो आप उस विशेष स्थान पर निर्देशिका बदल रहे हैं।

चरण 3) फिर निम्न आदेश टाइप करें। (यह आदेश सामान्य आदेश है)

निष्पादित करना TestNG कमांड लाइन के माध्यम से

जावा –cp “कार्यस्थान में मौजूद lib फ़ोल्डर का पथ\*; प्रोजेक्ट कार्यस्थान में मौजूद bin फ़ोल्डर का पथ; प्रोजेक्ट कार्यस्थान के lib फ़ोल्डर में मौजूद testng.jar फ़ाइल का पथ” org.testng.TestNG testng.xml

लेकिन हमारे प्रोजेक्ट के लिए आपको निम्नलिखित कमांड लिखने की आवश्यकता है।

Java –cp  "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
  C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG testng.xml

चरण 4) फिर Enter दबाएँ। DemoA और DemoB दोनों क्लास अपना निष्पादन शुरू कर देंगे। अंत में, यह कमांड प्रॉम्प्ट पर परिणाम प्रदर्शित करेगा।

निष्पादित करना TestNG कमांड लाइन के माध्यम से

केवल असफल परीक्षण मामलों को कैसे चलाएं

यदि आप केवल असफल परीक्षण मामलों को ही निष्पादित करना चाहते हैं Eclipse, फिर पहले प्रोजेक्ट को रिफ्रेश करें।

चरण 1) जावा प्रोजेक्ट (डेमो ए और बी) पर राइट क्लिक करें।

रिफ्रेश विकल्प का चयन करें या बस जावा प्रोजेक्ट का चयन करें और F5 दबाएं।

चरण 2) फिर आप टेस्ट-आउटपुट फ़ोल्डर देख पाएंगे।

उस फ़ोल्डर में, आपके पास testng-failed.xml नाम वाली एक फ़ाइल है।

केवल असफल शेष मामले ही चलाएँ

चरण 3) इस फ़ाइल पर राइट-क्लिक करें और रन ऐज़ पर क्लिक करें और “testNG suite” नामक विकल्प चुनें।

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

केवल असफल शेष मामले ही चलाएँ

कमांड लाइन से testng-failed.xml फ़ाइल चलाना

चरण 1) कमांड प्रॉम्प्ट में विफल परीक्षण मामलों को चलाने के लिए। कमांड प्रॉम्प्ट खोलें और प्रोजेक्ट वर्कस्पेस पर जाएँ।

कमांड लाइन से Testng-failed.xml फ़ाइल चलाना

मेरा प्रोजेक्ट कार्यक्षेत्र है C:\Users\User\Desktop\Guru99\TestProject. तो आप उस विशेष स्थान पर निर्देशिका बदल रहे होंगे।

चरण 2) निम्नलिखित कमांड टाइप करें। (यह कमांड सामान्य कमांड है)

जावा –cp “कार्यस्थान में मौजूद lib फ़ोल्डर का पथ\*; प्रोजेक्ट कार्यस्थान में मौजूद bin फ़ोल्डर का पथ; प्रोजेक्ट कार्यस्थान के lib फ़ोल्डर में मौजूद testing.jar फ़ाइल का पथ” org.testng.TestNG टेस्ट-आउटपुट/testng-विफल.xml

हमारे प्रोजेक्ट के लिए, आपको निम्नलिखित कमांड लिखना होगा।

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml

चरण 3) फिर Enter दबाएँ। यह केवल असफल क्लासों को चलाएगा और केवल उसी क्लास से संबंधित जानकारी प्रदर्शित करेगा।

उपरोक्त क्लास यानि DemoB में कोड को इस तरह बदलें।

driver.findElement(By.name("a")).sendKeys("Bye");

उपरोक्त कोड कोई भी तत्व नहीं ढूँढ पाएगा। इसलिए, यह अपवाद को फेंक देगा। लेकिन हमारे प्रोग्राम में, आप अपवाद को संभाल नहीं रहे हैं, इसलिए हमारा प्रोग्राम शेष कोड को निष्पादित करना बंद कर देगा। इस कारण से, ClassB विफल हो जाएगा।

कमांड लाइन से Testng-failed.xml फ़ाइल चलाना

सारांश

  • TestNG यह ऑटोमेशन टेस्टिंग फ्रेमवर्क है जो जूनिट से प्रेरित है और इसमें विभिन्न एनोटेशन शामिल हैं।
  • TestNG अपनी मानक रिपोर्ट में रिपोर्ट तैयार करता है, जिसमें निम्नलिखित चीजें शामिल होती हैं:
  • कितने परीक्षण मामले हैं?
  • कितने परीक्षण मामले पास हुए?
  • कितने परीक्षण मामले असफल हुए?
  • कितने परीक्षण मामले छोड़ दिए गए?
  • एकाधिक परीक्षण मामलों को आसानी से समूहीकृत किया जा सकता है तथा परीक्षण वर्गों को परीक्षण सूट फ़ाइल में परिवर्तित करके उन्हें निष्पादित किया जा सकता है।
  • TestNG इसे अन्य थर्ड-पार्टी टूल्स के साथ आसानी से एकीकृत किया जा सकता है। यह परीक्षण मामलों को प्राथमिकता देने, इनवोकेशन काउंट का उपयोग करके एक ही परीक्षण मामले को कई बार निष्पादित करने जैसी विभिन्न सुविधाएँ प्रदान करता है।
  • यदि एकाधिक परीक्षण मामलों को निष्पादित करते समय कोई भी परीक्षण मामला विफल हो जाता है, तो आप उस विशिष्ट परीक्षण मामले को अलग से निष्पादित कर सकते हैं।
  • रिपोर्टर वर्ग की स्थिर विधि “लॉग” का उपयोग लॉगिंग जानकारी को संग्रहीत करने के लिए किया जा सकता है जो org.testng में मौजूद है