खीरे के साथ सेलेनियम (BDD फ्रेमवर्क): उदाहरण के साथ ट्यूटोरियल

विषय - सूची:

Anonim

इस ट्यूटोरियल में, आप सीखेंगे कि सेलेनियम वेबड्राइवर के साथ खीरे को कैसे एकीकृत किया जाए।

ककड़ी क्या है?

ककड़ी एक परीक्षण दृष्टिकोण है जो व्यवहार प्रेरित विकास (BDD) का समर्थन करता है। यह घेरकिन भाषा का उपयोग करते हुए एक सरल अंग्रेजी पाठ में आवेदन के व्यवहार की व्याख्या करता है।

अधिक जानें - https://www.guru99.com/cucumber-tutorials.html

सेलेनियम क्या है?

सेलेनियम वेब आधारित एप्लिकेशन के कार्यात्मक परीक्षण के लिए एक स्वचालन उपकरण है। सेलेनियम जावा, रूबी, अजगर सी #, आदि जैसी विभिन्न भाषाओं का समर्थन करता है।

और अधिक जानें - https://www.guru99.com/selenium-tutorial.html

इस ककड़ी ट्यूटोरियल में, हम सीखेंगे-

  • सेलेनियम के साथ खीरे का उपयोग क्यों करें?
  • सेलेनियम के साथ ककड़ी का उपयोग करने के लिए शर्त।
  • सेलेनियम के साथ ककड़ी का उपयोग करके स्वचालन परीक्षण।
  • परिदृश्य 1: कंसोल में टेक्स्ट प्रिंट करें।
  • परिदृश्य 2: लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें।
  • परिदृश्य 3: गुरु99 पर लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें। ऐसा 3 सेट डेटा के लिए करें।

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

ककड़ी और सेलेनियम दो लोकप्रिय प्रौद्योगिकियां हैं।

अधिकांश संगठन कार्यात्मक परीक्षण के लिए सेलेनियम का उपयोग करते हैं। ये संगठन जो सेलेनियम का उपयोग कर रहे हैं, वे ककड़ी के साथ सेलेनियम को एकीकृत करना चाहते हैं क्योंकि ककड़ी को पढ़ना और एप्लिकेशन प्रवाह को समझना आसान बनाता है।

ककड़ी उपकरण व्यवहार प्रेरित विकास ढांचे पर आधारित है जो निम्नलिखित लोगों के बीच पुल का काम करता है :

  1. सॉफ्टवेयर इंजीनियर और व्यापार विश्लेषक।
  2. मैनुअल परीक्षक और स्वचालन परीक्षक।
  3. मैनुअल परीक्षक और डेवलपर्स।

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

सेलेनियम के साथ ककड़ी का उपयोग करने के लिए शर्त

इससे पहले कि हम ककड़ी सेलेनियम एकीकरण शुरू करें, हमें निम्नलिखित वस्तुओं की आवश्यकता है:

  • सेलेनियम जार फाइलें:
  • सेलेनियम-सर्वर-स्टैंडअलोन

Http://www.seleniumhq.org/download/ पर डाउनलोड किया जा सकता है

ककड़ी के लिए जार फाइलें:

  • ककड़ी-कोर
  • ककड़ी-एचटीएमएल
  • कोडर्टुरा कोड कवरेज
  • ककड़ी-जावा
  • ककड़ी-जूनट
  • ककड़ी-जेवीएम-डिप्स
  • ककड़ी-रिपोर्टिंग
  • हेमरेस्ट-कोर
  • खीरा
  • JUnit

Https://mvnrepository.com/search?q=Cucumber पर डाउनलोड किया जा सकता है

आपको फ़ाइलों को खोजने और उन्हें एक-एक करके व्यक्तिगत रूप से डाउनलोड करने की आवश्यकता है।

उदाहरण के लिए, हम आपको जार फ़ाइलों में से एक को डाउनलोड करने के लिए दिखाएंगे, अर्थात, "ककड़ी-कोर।"

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

अगले पृष्ठ में, संस्करण 1.2.2 पर क्लिक करें,

अगली स्क्रीन में, 'ककड़ी कोर' जार फ़ाइल पाने के लिए डाउनलोड पर क्लिक करें।

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

सेलेनियम के साथ ककड़ी का उपयोग करके स्वचालन परीक्षण।

चलो स्टेप बाई स्टेप सेलेनियम युक्त खीरे का उपयोग करने के लिए स्टेप्स का अध्ययन करें। यहां हम 3 परिदृश्यों को कवर करेंगे:

  • परिदृश्य 1: कंसोल में टेक्स्ट प्रिंट करें।
  • परिदृश्य 2: लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें।
  • परिदृश्य 3: गुरु99 पर लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें। ऐसा 3 सेट डेटा के लिए करें।

परिदृश्य 1: कंसोल में टेक्स्ट प्रिंट करें।

इस परिदृश्य में, हम केवल ककड़ी का उपयोग करके पाठ को कंसोल में प्रिंट करते हैं।

चरण 1) ग्रहण में प्रोजेक्ट बनाएं।

नीचे दिए गए स्क्रीनशॉट में दिखाए अनुसार "CucumberWithSelenium" नाम से जावा प्रोजेक्ट बनाएं।

चरण 2) परियोजना में जार फाइलें जोड़ना।

प्रोजेक्ट पर राइट क्लिक करें> गुण चुनें> जावा बिल्ड पाथ पर जाएं। पहले डाउनलोड की गई सभी लाइब्रेरी जोड़ें।

चरण 3) फीचर फ़ाइल बनाना

फीचर फाइल बनाने के लिए सबसे पहले स्क्रीनशॉट के नीचे दिखाए अनुसार फीचर फोल्डर बनाएं।

अब Folder नाम 'Features' डालें और 'Finish' बटन पर क्लिक करें।

अब, "MyTest.feature" के नाम के साथ 'फ़ीचर' फ़ोल्डर में फ़ीचर फ़ाइल बनाएँ - प्रक्रिया एक फ़ोल्डर बनाने के समान है

नोट: इसके लिए आपको काम करने के लिए Cucumber Eclipse Plugin इंस्टॉल करना पड़ सकता है। गोटो - मदद करता है-> नया सॉफ्टवेयर स्थापित करें-> कॉपी पेस्ट करें लिंक http://cucumber.github.io/cucumber-eclipse/update-site/ और स्थापित करें

चरण 4) परिदृश्य लिखें।

नीचे दी गई लाइनों को 'MyTest.feature' फ़ाइल में दिखाया गया है, जैसा कि नीचे दिखाया गया है:

फ़ीचर: आवेदन के लॉगिन पृष्ठ पर कार्यक्षमता रीसेट करें

परिदृश्य: रीसेट बटन का सत्यापन

फ़ायरफ़ॉक्स खोलें और एप्लिकेशन लॉन्च करें

यूजरनेम और पासवर्ड डालें

फिर क्रेडेंशियल रीसेट करें

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

पंक्ति 1) इस पंक्ति में हम व्यावसायिक कार्यक्षमता लिखते हैं।

पंक्ति 2) इस पंक्ति में हम परीक्षण करने के लिए एक परिदृश्य लिखते हैं।

पंक्ति 3) इस पंक्ति में हम पूर्व शर्त को परिभाषित करते हैं।

पंक्ति 4) इस पंक्ति में हम उस क्रिया को परिभाषित करते हैं जो हमें करने की आवश्यकता है।

पंक्ति 4) इस पंक्ति में हम अपेक्षित परिणाम या परिणाम को परिभाषित करते हैं।

चरण 5) सेलेनियम ककड़ी फ्रेमवर्क डिजाइन के लिए सेलेनियम टेस्टरनर स्क्रिप्ट लिखना

यहां हम 'TestRunner' पैकेज बनाते हैं और फिर इसके अंतर्गत 'Runner.java' क्लास फाइल बनाते हैं।

पैकेज टेस्टरनर;आयात org.junit.runner.RunWith;आयात ककड़ी।आयात ककड़ी।@RunWith (Cucumber.class)@CucumberOptions (सुविधाएँ = "सुविधाएँ", गोंद = {"StepDefinition"})पब्लिक क्लास रनर{{}

ऊपर ककड़ी जावा उदाहरण कोड में, हम निम्नलिखित एनोटेशन का उपयोग करके ककड़ी परीक्षण चलाते हैं:

@RunWith () एनोटेशन हमारे परीक्षण को निष्पादित करने के लिए परीक्षण धावक वर्ग के बारे में बताता है।

@CucmberOptions () एनोटेशन का उपयोग हमारे ककड़ी परीक्षण के लिए कुछ गुणों को सेट करने के लिए किया जाता है जैसे कि फीचर फाइल, स्टेप डेफिनिशन, आदि।

TestRunner फ़ाइल का स्क्रीनशॉट।

चरण 6) चरण परिभाषा स्क्रिप्ट बनाना।

अब यहाँ हम 'StepDefinition' पैकेज बनाते हैं और फिर इसके अंतर्गत 'Steps.java' स्क्रिप्ट फ़ाइल बनाते हैं। यहां हम वास्तव में ककड़ी विधियों के तहत परीक्षण करने के लिए एक सेलेनियम स्क्रिप्ट लिखते हैं।

पैकेज StepDefinition;आयात ककड़ी।आयात ककड़ी। pap.java.en.Then;आयात cucumber.api.java.en.When;सार्वजनिक वर्ग के चरण {@ Given ("फ़ायरफ़ॉक्स खोलें और एप्लिकेशन $ लॉन्च करें")public void open_the_Firefox_and_launch_the_application () फेंकता है{{System.out.println ("यह चरण फ़ायरफ़ॉक्स खोलें और एप्लिकेशन लॉन्च करें।");}@When ("यूजरनेम और पासवर्ड दर्ज करें")सार्वजनिक शून्य enter_the_Username_and_Password () फेंकता है{{System.out.println ("यह चरण लॉगिन पेज पर उपयोगकर्ता नाम और पासवर्ड दर्ज करें।");}@ जब ("क्रेडेंशियल $ रीसेट करें")सार्वजनिक शून्य Reset_the_credential () फेंकता है{{System.out.println ("यह चरण रीसेट बटन पर क्लिक करें");}}

उपरोक्त कोड में, 'स्टेप्स' नाम के साथ वर्ग बनाया गया है। ककड़ी एनोटेशन का उपयोग फीचर फाइल के साथ मैप करने के लिए किया जाता है। प्रत्येक एनोटेशन विधि को परिभाषित किया गया है:

@ लाइव एनोटेशन ने फ़ायरफ़ॉक्स खोलने और एप्लिकेशन लॉन्च करने के लिए विधि को परिभाषित किया

@ उपयोगकर्ता नाम और पासवर्ड दर्ज करने के लिए एनोटेशन को परिभाषित करने की विधि

क्रेडेंशियल रीसेट करने के लिए @ जब एनोटेशन परिभाषित विधि

प्रत्येक विधि के तहत, हम केवल एक संदेश प्रिंट कर रहे हैं।

नीचे 'Steps.java' स्क्रिप्ट और प्रोजेक्ट ट्री का स्क्रीनशॉट है, यह कैसा दिखता है।

नोट: स्टेप डेफिनिशन और कुछ नहीं है, लेकिन इस ककड़ी विधि के तहत आप जो कदम उठाना चाहते हैं।

चरण 7) स्क्रिप्ट को निष्पादित करना।

उपयोगकर्ता इस स्क्रिप्ट को टेस्ट रनर स्क्रिप्ट, यानी 'Runner.java' से निष्पादित कर सकता है जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

चरण 8) आउटपुट का विश्लेषण करें।

'Runner.java' स्क्रिप्ट निष्पादित करने पर, यह कंसोल पर पाठ प्रदर्शित करता है। यह वही स्टेप है जिसे 'स्टेपेजवा' स्क्रिप्ट में परिभाषित किया गया है।

परिदृश्य 2: लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें।

यहां हम सिर्फ गुरु99 डेमो लॉगिन पेज पर क्रेडेंशियल दर्ज करेंगे और मूल्य रीसेट करेंगे

परिदृश्य 2 के लिए हमें केवल 'Steps.java' स्क्रिप्ट को अपडेट करने की आवश्यकता है। यहां हम वास्तव में सेलेनियम स्क्रिप्ट लिखते हैं जैसा कि नीचे दिए गए चरणों में दिखाया गया है। सबसे पहले, हमें इस परियोजना में सेलेनियम जार फ़ाइल को जोड़ने की आवश्यकता है।

चरण 1) यहां हम 'Steps.java' स्क्रिप्ट को अपडेट करते हैं जैसा कि नीचे दिए गए कोड और स्क्रीनशॉट में दिखाया गया है।

पैकेज StepDefinition;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात ककड़ी।आयात ककड़ी। pap.java.en.Then;आयात cucumber.api.java.en.When;सार्वजनिक वर्ग के चरण {WebDriver ड्राइवर;@ Given ("फ़ायरफ़ॉक्स खोलें और एप्लिकेशन $ लॉन्च करें")public void open_the_Firefox_and_launch_the_application () फेंकता है{{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("http://demo.guru99.com/v4");}@When ("यूजरनेम और पासवर्ड दर्ज करें")सार्वजनिक शून्य enter_the_Username_and_Password () फेंकता है{{Driver.findElement (By.name ("uid"))। sendKeys ("username12");Driver.findElement (By.name ("पासवर्ड"))। sendKeys ("पासवर्ड 12");}@ जब ("क्रेडेंशियल $ रीसेट करें")सार्वजनिक शून्य Reset_the_credential () फेंकता है{{Driver.findElement (By.name ("btnReset"))। क्लिक करें ();}}

उपरोक्त सेलेनियम स्क्रिप्ट का स्क्रीनशॉट।

चरण 2) स्क्रिप्ट निष्पादित करें।

अपडेट करने के बाद हम Runner.java चलाते हैं।

चरण 3) आउटपुट का विश्लेषण करें।

आउटपुट में आप निम्नलिखित देख सकते हैं:

  • ब्राउज़र लॉन्च किया गया।
  • गुरु 99 बैंक डेमो साइट खोली गई।
  • उपयोगकर्ता नाम और पासवर्ड लॉगिन पृष्ठ पर रखे गए हैं।
  • मानों को रीसेट करें।

परिदृश्य 3: गुरु99 पर लॉगिन क्रेडेंशियल दर्ज करें और मूल्य रीसेट करें। ऐसा 3 सेट डेटा के लिए करें।

यहां हमें 'Step.java' और फीचर फाइल दोनों को अपडेट करना होगा।

चरण 1) फीचर फाइल को नीचे दिखाए अनुसार अपडेट करें:

यहाँ हम फीचर फाइल को 'परिदृश्य रूपरेखा' और 'उदाहरण' वाक्य-विन्यास के साथ अद्यतन करते हैं।

फ़ीचर: आवेदन के लॉगिन पृष्ठ पर कार्यक्षमता रीसेट करें

परिदृश्य की रूपरेखा: क्रेडेंशियल की संख्या के साथ रीसेट बटन का सत्यापन

फ़ायरफ़ॉक्स खोलें और एप्लिकेशन लॉन्च करें

जब उपयोगकर्ता नाम दर्ज करें <यूज़रनेम और पासवर्ड <पासवर्ड>

फिर क्रेडेंशियल रीसेट करें

उदाहरण:

| उपयोगकर्ता नाम | पासवर्ड |

| उपयोगकर्ता 1 | पासवर्ड 1 |

| उपयोगकर्ता 2 | पासवर्ड 2 |

| उपयोगकर्ता 3 | पासवर्ड 3 |

// इस पंक्ति में हम डेटा के सेट को परिभाषित करते हैं।

चरण 2) अब Step.java स्क्रिप्ट को अपडेट करें।

यहां हम मापदंडों को पास करने के लिए तरीकों को अपडेट करते हैं, नीचे दिखाए गए स्क्रिप्ट को अपडेट करते हैं:

पैकेज StepDefinition;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात ककड़ी।आयात ककड़ी। pap.java.en.Then;आयात cucumber.api.java.en.When;सार्वजनिक वर्ग के चरण {WebDriver ड्राइवर;@ Given ("फ़ायरफ़ॉक्स खोलें और एप्लिकेशन $ लॉन्च करें")public void open_the_Firefox_and_launch_the_application () फेंकता है{{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("www.demo.guru99.com/v4");}@When ("यूजरनेम दर्ज करें \" (?) \ "और पासवर्ड \" (। *।) \ "$"सार्वजनिक शून्य दर्ज करें{{Driver.findElement (By.name ("uid"))। sendKeys (उपयोगकर्ता नाम);Driver.findElement (By.name ("पासवर्ड"))। sendKeys (पासवर्ड);}@ जब ("क्रेडेंशियल $ रीसेट करें")सार्वजनिक शून्य Reset_the_credential () फेंकता है{{Driver.findElement (By.name ("btnReset"))। क्लिक करें ();}}

चरण 3) अब अद्यतन स्क्रिप्ट निष्पादित करें।

स्क्रीन के नीचे स्क्रिप्ट और डेटा के प्रत्येक सेट द्वारा लिए गए समय का सफल निष्पादन दिखाया गया है।

चरण 4) आउटपुट का विश्लेषण करें।

आउटपुट में आप निम्नलिखित देख सकते हैं:

नीचे डेटा सेट की संख्या के लिए दोहराया जाता है, अर्थात, 3 सेट।

  • ब्राउज़र लॉन्च किया गया।
  • गुरु 99 बैंक डेमो साइट खोली गई।
  • उपयोगकर्ता नाम और पासवर्ड लॉगिन पृष्ठ पर रखे गए हैं।
  • मानों को रीसेट करें।

निष्कर्ष।

ककड़ी एक बहुत लोकप्रिय BDD उपकरण है। यह पढ़ना आसान है और तकनीकी और गैर-तकनीकी व्यक्ति सहित सभी हितधारकों द्वारा समझा जा सकता है।

ककड़ी को 3 चरणों का उपयोग करके सेलेनियम के साथ एकीकृत किया जा सकता है

  1. सुविधा फ़ाइल बनाएँ जिसमें Gherkin भाषा का उपयोग करके चरण और परिदृश्य को परिभाषित करें।
  2. Testrunner फ़ाइल बनाएँ। इस फ़ाइल में, हमने सेलेनियम में BDD फ्रेमवर्क के साथ ककड़ी को एकीकृत किया। हम इस स्क्रिप्ट को निष्पादित करते हैं।
  3. क्रिएट स्टेप डेफिनिशन, इस पैकेज के तहत परिभाषित वास्तविक सेलेनियम स्क्रिप्ट।