असफल परीक्षण मामलों को कैसे निष्पादित करें TestNG: Selenium वेबड्राइवर
इस ट्यूटोरियल में आप सीखेंगे-
- बनाओ Selenium परियोजना
- परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG
- निष्पादित करना TestNG कमांड लाइन के माध्यम से
- केवल असफल परीक्षण मामलों को कैसे चलाएं
- कमांड लाइन से testng-failed.xml फ़ाइल चलाना
बनाओ Selenium परियोजना
प्रोजेक्ट तैयार करें
चरण 1) In Eclipse, बनाएं Java नए पर क्लिक करके प्रोजेक्ट Java परियोजना
चरण 2) इस चरण में,
- प्रोजेक्ट का नाम बताएँ
- निष्पादन वातावरण चुनें
- प्रोजेक्ट लेआउट विकल्प चुनें
- “समाप्त” बटन पर क्लिक करें।
जब आप फ़िनिश बटन पर क्लिक करेंगे तो “TestProject” जावा प्रोजेक्ट बन जाएगा। “TestProject” इस तरह दिखेगा।
चरण 3) उस नए बनाए गए प्रोजेक्ट को खोलें। आप पैकेज एक्सप्लोरर में “src” फ़ोल्डर देख पाएंगे।
- प्रोजेक्ट पर राइट क्लिक करें और “नया” चुनें
- विकल्प पैकेज चुनें
चरण 4) इस चरण में,
- src फ़ोल्डर ब्राउज़ करें और पैकेज चुनें
- पैकेज का नाम दें और
- अंत में, फिनिश बटन पर क्लिक करें। (पैकेज नाम->com.test)
“फिनिश” पर क्लिक करने के बाद प्रोजेक्ट संरचना इस तरह दिखाई देगी:
चरण 5) इस चरण में,
- अब, नए बनाए गए पैकेज पर राइट क्लिक करें और
- विकल्प “क्लास” चुनें।
एक नयी विंडो खुलेगी।
चरण 6) इस चरण में,
- “क्लास” का नाम दें
- संशोधक चुनें
- सुपरक्लास java.lang.object को ब्राउज़ करें और चुनें
- समाप्त बटन पर क्लिक करें.
यहाँ, आप दो वर्ग बना रहे हैं: डेमोए, डेमोबी.
सबसे पहले क्लास DemoA बनाएं.
जब आप “Finish” बटन पर क्लिक करेंगे। तब यह इस तरह क्लास बनाएगा:
इसी तरह, क्लास DemoB बनाएं, जब आप “Finish” बटन पर क्लिक करेंगे तो क्लास नीचे की तरह दिखाई देगी-
चरण 7) यदि आपने स्थापित किया है TestNG लाइब्रेरी पर बस क्लिक करें Java प्रोजेक्ट—>गुण.
चरण 8) अब गुण विंडो में,
- पर क्लिक करें Java पथ बनाएँ
- लाइब्रेरीज़ पर क्लिक करें
- 'लाइब्रेरी जोड़ें' पर क्लिक करें।
अगला
- “TestNg” पर क्लिक करें और फिर
- "अगला" पर क्लिक करें।
फिर “समाप्त” बटन पर क्लिक करें।
इसके बाद, निम्नलिखित कोड लिखें.
क्लास डेमो के लिएA
कोड स्पष्टीकरण:
- ड्राइवर.मैनेज().विंडो().मैक्सिमाइज़();
यह लाइन ब्राउज़र विंडो को अधिकतम करेगी।
- ड्राइवर.get(https://www.google.co.in);
यह पंक्ति URL फ़ील्ड में निर्दिष्ट URL दर्ज करेगी।
- ड्राइवर.findElement(By.name(“q”)).sendKeys(“Hi”);
यह पंक्ति "Google" खोज बॉक्स की पहचान करेगी और आपके द्वारा sendKeys विधि का उपयोग करके भेजा गया डेटा दर्ज करेगी।
आउटपुट: उपरोक्त प्रोग्राम में त्रुटियाँ हैं, इसलिए इसे निष्पादित करना संभव नहीं है।
इसी प्रकार क्लास डेमोबी के लिए,
लाल रंग से रेखांकित शब्द यहाँ त्रुटियाँ हैं। क्योंकि आपने अभी तक jar फ़ाइल नहीं जोड़ी है जिसमें ये क्लास और इंटरफ़ेस हैं। उपरोक्त कोड में मौजूद त्रुटियों को हटाने के लिए संबंधित jar फ़ाइल जोड़ें। पर राइट क्लिक करें Java प्रोजेक्ट पर जाएँ और “गुण” चुनें।
चरण 8) संपत्ति विंडो में,
- पर क्लिक करें Java बाएँ नेविगेशन फलक पर पथ बनाएँ.
- लाइब्रेरीज़ टैब पर क्लिक करें,
- बाहरी JARs जोड़ें पर क्लिक करें और चुनें Selenium-स्टैंडअलोन जार फ़ाइल
- “ओके” बटन पर क्लिक करें।
इस चरण के बाद, सभी त्रुटियाँ अपने आप हट जाएँगी। यदि नहीं, तो माउस को उस कोड पर रखें जो त्रुटियाँ दिखा रहा है और सभी आवश्यक क्लासेस और इंटरफेस आयात करें।
@test के लिए यदि यह अभी भी त्रुटियाँ दिखा रहा है तो माउस को वहाँ ले जाएँ। यह संभावित विकल्प दिखाएगा। फिर add पर क्लिक करें TestNG लाइब्रेरी विकल्प। इसी तरह अन्य 'क्लास' के लिए भी ऐसा करें।
दोनों क्लासों यानि DemoA, DemoB के अंदर अपना कोड लिखने के बाद अगले चरण पर जाएँ।
चरण 9) इस चरण में,
- प्रोजेक्ट पर राइट-क्लिक करें और
- 'lib' नामक फ़ोल्डर बनाने के लिए विकल्प फ़ोल्डर का चयन करें और testNG jar फ़ाइल और selenium jar फ़ाइल (selenium-server-standalone) पेस्ट करें ).(परीक्षण और Selenium-server-standalone jar फ़ाइल को वेब से डाउनलोड करके अपने सिस्टम में स्टोर करना होगा। आपको मैन्युअल रूप से उस फ़ोल्डर में जाना होगा और इन दो jars को कॉपी करना होगा और eclipse में मौजूद 'lib' फ़ोल्डर पर राइट क्लिक करके पेस्ट पर क्लिक करना होगा)
चरण 10) इस चरण में,
1. मूल फ़ोल्डर का चयन करें
2. फ़ोल्डर का नाम 'lib' रखें और (lib फ़ोल्डर में इन दो jar फ़ाइलों को जोड़ने का प्राथमिक उद्देश्य यह है कि, कमांड प्रॉम्प्ट से निष्पादित करते समय आप कंपाइलर को बता सकते हैं कि प्रोग्राम के निष्पादन के लिए आवश्यक jar फ़ाइलें इस स्थान पर मौजूद हैं। यदि आप eclipse से testng.xml निष्पादित करना चाहते हैं तो इस lib फ़ोल्डर की बिल्कुल भी आवश्यकता नहीं है)
3. 'समाप्त' बटन पर क्लिक करें
टेस्टिंग और Selenium-server-standalone jar फ़ाइल को वेब से डाउनलोड करके अपने सिस्टम में स्टोर करना होगा। आपको मैन्युअल रूप से उस फ़ोल्डर में जाना होगा और इन दो jars को कॉपी करना होगा और eclipse में मौजूद 'lib' फ़ोल्डर पर राइट क्लिक करके पेस्ट पर क्लिक करना होगा।
फ़ोल्डर बनाने के बाद, अगला चरण हमारे प्रोग्रामों, जो कि DemoA और DemoB हैं, को Testng.xml फ़ाइल में परिवर्तित करना होगा।
परिवर्तित करें और निष्पादित करें Selenium परियोजना के लिए TestNG
चरण 1) इस चरण में,
- पैकेज के अंतर्गत मौजूद दो जावा फ़ाइलों का चयन करें और राइट क्लिक करें।
- “testNG” नामक विकल्प चुनें।
- “testNG” में कन्वर्ट करने के लिए क्लिक करें।
चरण 2) एक नई विंडो खुलेगी। इस विंडो में विवरण दर्ज करें जैसे
- स्थान
- सुइट का नाम
- परीक्षण का नाम
- कक्षा चयन
- समानांतर मोड
- “समाप्त” बटन पर क्लिक करें
फिर जावा प्रोजेक्ट के तहत testng.xml फ़ाइल बनाई जाएगी, और यह इस तरह दिखाई देगी।
(यदि आप उस testng.xml फ़ाइल को चलाना चाहते हैं तो पैकेज एक्सप्लोरर में बाएं नेविगेशन फलक पर मौजूद उस testng.xml फ़ाइल पर राइट क्लिक करें और run as पर क्लिक करें TestNG सुइट.)
चरण 3) Testng.xml सुइट फ़ाइल इस तरह दिखाई देगी:
यदि आप DemoA क्लास को पहले निष्पादित करना चाहते हैं, तो उस पूरी लाइन को हटा दें और उसे DemoB क्लास से पहले इस प्रकार जोड़ें:
चरण 4) Testng.xml फ़ाइल को निष्पादित करने के बाद, यह परिणाम को निम्न तरीके से प्रदर्शित करेगा। (चूंकि आपने System.out.println() का उपयोग करके कोई निष्पादन योग्य कथन नहीं लिखा है, इसलिए यह कंसोल विंडो पर कुछ भी प्रिंट नहीं कर रहा है)।
यह उन तरीकों में से एक है जिससे आप एक्लिप्स के माध्यम से परीक्षण निष्पादित करेंगे, यदि आप उसी testng.xml सुइट फ़ाइल को निष्पादित करना चाहते हैं जिसमें कमांड प्रॉम्प्ट से DemoA, DemoB जैसी दो क्लास फ़ाइलें हैं तो आपको नीचे दिए गए चरणों का पालन करना होगा।
अब कमांड प्रॉम्प्ट खोलें और प्रोजेक्ट वर्कस्पेस पर जाएं।
निष्पादित करना TestNG कमांड लाइन के माध्यम से
आपको प्रोजेक्ट स्पेस का स्थान ढूंढना होगा
चरण 1) सबसे पहले दायाँ क्लिक करें Java प्रोजेक्ट और गुण विकल्प का चयन करें। गुण विंडो में संसाधन विकल्प का चयन करें।
चरण 2) अब जब आप बाएं नेविगेशन पैन में मौजूद “संसाधन” लिंक पर क्लिक करेंगे तो यह दिखाएगा कि प्रोजेक्ट वास्तव में कहाँ संग्रहीत है
परियोजना कार्यक्षेत्र है C:\Users\User\Desktop\Guru99\TestProject. तो आप उस विशेष स्थान पर निर्देशिका बदल रहे हैं।
चरण 3) फिर निम्न आदेश टाइप करें। (यह आदेश सामान्य आदेश है)
जावा –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 दोनों क्लास अपना निष्पादन शुरू कर देंगे। अंत में, यह कमांड प्रॉम्प्ट पर परिणाम प्रदर्शित करेगा।
केवल असफल परीक्षण मामलों को कैसे चलाएं
यदि आप केवल असफल परीक्षण मामलों को ही निष्पादित करना चाहते हैं Eclipse, फिर पहले प्रोजेक्ट को रिफ्रेश करें।
चरण 1) जावा प्रोजेक्ट (डेमो ए और बी) पर राइट क्लिक करें।
रिफ्रेश विकल्प का चयन करें या बस जावा प्रोजेक्ट का चयन करें और F5 दबाएं।
चरण 2) फिर आप टेस्ट-आउटपुट फ़ोल्डर देख पाएंगे।
उस फ़ोल्डर में, आपके पास testng-failed.xml नाम वाली एक फ़ाइल है।
चरण 3) इस फ़ाइल पर राइट-क्लिक करें और रन ऐज़ पर क्लिक करें और “testNG suite” नामक विकल्प चुनें।
मान लीजिए कि आपके पास तीन टेस्ट केस हैं, अगर सभी टेस्ट केस सफलतापूर्वक निष्पादित हो जाते हैं, तो इसका मतलब है कि आप टेस्ट-आउटपुट फ़ोल्डर के अंतर्गत इस फ़ोल्डर को नहीं देख पा रहे हैं। यह फ़ोल्डर तभी दिखाई देगा जब कोई एक टेस्ट केस विफल हो जाएगा। फिर इस फ़ाइल को चलाएँ, यह केवल विफल टेस्ट केस ही चलाएगा।
कमांड लाइन से testng-failed.xml फ़ाइल चलाना
चरण 1) कमांड प्रॉम्प्ट में विफल परीक्षण मामलों को चलाने के लिए। कमांड प्रॉम्प्ट खोलें और प्रोजेक्ट वर्कस्पेस पर जाएँ।
मेरा प्रोजेक्ट कार्यक्षेत्र है 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 यह ऑटोमेशन टेस्टिंग फ्रेमवर्क है जो जूनिट से प्रेरित है और इसमें विभिन्न एनोटेशन शामिल हैं।
- TestNG अपनी मानक रिपोर्ट में रिपोर्ट तैयार करता है, जिसमें निम्नलिखित चीजें शामिल होती हैं:
- कितने परीक्षण मामले हैं?
- कितने परीक्षण मामले पास हुए?
- कितने परीक्षण मामले असफल हुए?
- कितने परीक्षण मामले छोड़ दिए गए?
- एकाधिक परीक्षण मामलों को आसानी से समूहीकृत किया जा सकता है तथा परीक्षण वर्गों को परीक्षण सूट फ़ाइल में परिवर्तित करके उन्हें निष्पादित किया जा सकता है।
- TestNG इसे अन्य थर्ड-पार्टी टूल्स के साथ आसानी से एकीकृत किया जा सकता है। यह परीक्षण मामलों को प्राथमिकता देने, इनवोकेशन काउंट का उपयोग करके एक ही परीक्षण मामले को कई बार निष्पादित करने जैसी विभिन्न सुविधाएँ प्रदान करता है।
- यदि एकाधिक परीक्षण मामलों को निष्पादित करते समय कोई भी परीक्षण मामला विफल हो जाता है, तो आप उस विशिष्ट परीक्षण मामले को अलग से निष्पादित कर सकते हैं।
- रिपोर्टर वर्ग की स्थिर विधि “लॉग” का उपयोग लॉगिंग जानकारी को संग्रहीत करने के लिए किया जा सकता है जो org.testng में मौजूद है