अपना पहला बनाएं Cucumber स्क्रिप्ट (2 उदाहरण)

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

Cucumber स्क्रिप्ट निष्पादन आपको स्टेप डेफिनिशन फ़ाइलों का उपयोग करके सरल गेरकिन परिदृश्यों को चलाने योग्य स्वचालित परीक्षणों में बदलने में मदद करता है, जिससे टीमें व्यवहार को मान्य कर सकती हैं, हितधारकों के बीच उद्देश्य साझा कर सकती हैं और विश्वसनीय बीडीडी-आधारित परियोजनाओं को सफलतापूर्वक पूरा कर सकती हैं। Cucumber or Cucumber-जेवीएम.

  • 🥒 खीरे के बुनियादी नियम: फीचर फाइलें Given-When-Then सिंटैक्स में परिदृश्यों का वर्णन करती हैं जिन्हें परीक्षक और व्यावसायिक टीमें दोनों पढ़ सकती हैं।
  • 📝 चरण परिभाषाएँ: गेरकिन का प्रत्येक चरण रूबी में लिखे गए कोड ब्लॉक से मैप होता है। Javaया कोई अन्य समर्थित भाषा।
  • ⚙️ परियोजना सेटअप: RubyMine या कोई भी IDE फीचर्स फोल्डर, स्टेप_डेफिनिशन फोल्डर और रनर कॉन्फ़िगरेशन को होस्ट कर सकता है।
  • दो उदाहरण: एक गुणन परिदृश्य और एक Guru99 डेमो लॉगिन परिदृश्य एंड-टू-एंड बीडीडी निष्पादन को प्रदर्शित करता है।
  • 🧪 आधुनिक संस्करण: Cucumber-JVM 7.x और Cucumber CI पाइपलाइनों में उपयोग किए जाने वाले वर्तमान स्थिर रिलीज़ के रूप में Ruby 9.x का ही उपयोग किया जा रहा है।

Cucumber लिपि

इस ट्यूटोरियल में, आप बनाएंगे Cucumber गेरकिन सिंटैक्स और स्टेप डेफिनिशन फाइलों का उपयोग करके दो परिदृश्यों का परीक्षण करने के लिए स्क्रिप्ट। Cucumber यह एक लोकप्रिय बीडीडी फ्रेमवर्क है जो सरल भाषा में लिखी गई फीचर फाइलों को निष्पादन योग्य परीक्षण कोड से जोड़ता है ताकि व्यावसायिक विश्लेषक और डेवलपर एक ही विशिष्टताओं पर सहयोग कर सकें।

Cucumber स्क्रिप्ट 1: 2 गुणा करें Numbers

इसमें पहले Cucumber उदाहरण के लिए, आप एक सरल फ़ीचर फ़ाइल लिखेंगे जो दो संख्याओं को गुणा करती है और फिर रूबी में एक मिलान स्टेप डेफ़िनिशन फ़ाइल बनाएंगे। यदि आप इसका उपयोग करते हैं तो यही कार्यप्रणाली लागू होती है। Cucumber-JVM 7.x के साथ Java या कोटलिन में IntelliJ IDEA.

चरण 1) RubyMine एडिटर को इसके माध्यम से खोलें Windows प्रारंभ मेनू।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 2) RubyMine एडिटर में, Create New Project पर क्लिक करें।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 3) प्रोजेक्ट स्थान का चयन करें और “बनाएँ” पर क्लिक करें।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 4) अपनी फीचर फाइलों के लिए प्रोजेक्ट रूट के अंदर एक फाइल डायरेक्टरी बनाएं।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 5) डायरेक्टरी का नाम इस प्रकार रखें: "विशेषताएँ". Cucumber यह फोल्डर स्वचालित रूप से स्कैन करेगा।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 6) “yourfolder/features/” में “yourfilename.feature” नाम से एक फ़ाइल बनाएं और सहेजें।

क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 7) इस परिदृश्य को निष्पादित करने के लिए, निम्नलिखित प्रोग्राम को Feature फ़ाइल के अंदर सहेजें। ध्यान दें कि Gherkin के कीवर्ड जैसे Feature, Scenario, Given, When और Then परीक्षण व्यवहार का वर्णन कैसे करते हैं।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Code:

Feature: Multiplication 
  I multiply two numbers 
	Scenario: multiply a and b 
	  Given I have variable a 
	  And I have variable b 
      When I multiplication a and b 
      Then I display the Result

चरण 8) अब अपनी पहली फीचर फ़ाइल चलाएँ।

“Start Command Prompt With Ruby” पर क्लिक करें।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

आपको प्राप्त होने वाला आउटपुट नीचे दिखाया गया है।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

आपको एक त्रुटि दिखाई देगी क्योंकि आपको एक स्टेप डेफिनिशन फ़ाइल लिखनी होगी जो फ़ीचर फ़ाइल के साथ मेल खाती हो।

चरण 9) अपनी फ़ीचर फ़ाइल के लिए एक स्टेप डेफ़िनिशन फ़ाइल बनाएँ।

RubyMine एडिटर में “step_definition” नाम से एक नया फोल्डर बनाएं।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 10) इस फ़ाइल को “yourfolder/features/step_definitions” फ़ोल्डर में test_step.rb नाम से सेव करें।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Cucumber स्क्रिप्ट:गुणा 2 Numbers

चरण 11) स्टेप डेफिनिशन फ़ाइल में निम्नलिखित कोड लिखें। प्रत्येक ब्लॉक फ़ीचर फ़ाइल से एक गेरकिन स्टेप को मैप करता है।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Code :

Given(/^I have variable a$/) do 
  @a = 50
end

And(/^I have variable b$/) do 
  @b = 70 
end

When(/^I multiplication a and b$/) do 
  @mul = @a * @b
end

Then(/^I display the Result$/) do 
  puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

चरण 12) फीचर फाइल को दोबारा चलाएं।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

परिणाम नीचे दर्शाया गया है।

Cucumber स्क्रिप्ट:गुणा 2 Numbers

Cucumber स्क्रिप्ट 2: ईमेल आईडी दर्ज होने या न होने पर आउटपुट सत्यापित करें

इस दूसरे उदाहरण में, आप रूबी का उपयोग करेंगे। Watir ब्राउज़र चलाने और दो पंजीकरण परिदृश्यों को मान्य करने के लिए Guru99 डेमो साइट। यदि आप इसे अपनाते हैं तो भी यही पैटर्न लागू होते हैं। Cucumber-JVM 7.x के साथ Selenium वेबड्राइवर और Java.

इस उदाहरण में हम उपयोग करते हैं माणिक.

परिदृश्य का परीक्षण करेंईमेल आईडी दर्ज न करने पर आउटपुट सत्यापित करें।

परीक्षण चरण:

  1. खुला ब्राउज़र
  2. करने के लिए जाओ https://demo.guru99.com/
  3. Do नहीं ईमेल आईडी दर्ज करें
  4. जमा करें पर क्लिक करें

परिदृश्य का परीक्षण करेंईमेल आईडी दर्ज करने पर आउटपुट सत्यापित करें।

परीक्षण चरण:

  1. खुला ब्राउज़र
  2. करने के लिए जाओ https://demo.guru99.com/
  3. ईमेल आईडी दर्ज करें
  4. जमा करें पर क्लिक करें

Code फ़ीचर फ़ाइल में:

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Code स्टेप डेफिनिशन फ़ाइल में:

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

कमांड प्रॉम्प्ट में कोड चलाएं और आपको निम्नलिखित आउटपुट दिखाई देगा।

ईमेल आईडी दर्ज होने या न होने पर आउटपुट सत्यापित करें

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

एक फ़ीचर फ़ाइल एक साधारण टेक्स्ट फ़ाइल होती है जिसका एक्सटेंशन .feature होता है और यह गेरकिन सिंटैक्स का उपयोग करके एप्लिकेशन की किसी एक फ़ीचर का वर्णन करती है। इसमें Given, When और Then चरणों के साथ लिखे गए संबंधित परिदृश्यों को समूहित किया जाता है ताकि गैर-तकनीकी हितधारक डेवलपर्स के साथ व्यवहार को पढ़ और सत्यापित कर सकें।

गेरकिन तकनीक का प्रत्येक चरण केवल पाठ के रूप में उपलब्ध है। Cucumber रूबी में एक स्टेप डेफिनिशन की आवश्यकता होती है जो स्टेप को निष्पादन योग्य कोड से मैप करती है। Javaया किसी अन्य भाषा में। उस मानचित्र के बिनाpingरनर अनिश्चित चरणों की रिपोर्ट करता है और परिदृश्य इच्छित तर्क को निष्पादित करने में विफल रहता है।

Cucumber-JVM 7.x वर्तमान स्थिर संस्करण है और नए उपयोगकर्ताओं के लिए इसकी अनुशंसा की जाती है। Java और कोटलिन प्रोजेक्ट। Cucumber रूबी 9.x रूबी टीमों के लिए आधुनिक समय का सबसे अच्छा विकल्प बना हुआ है। दोनों रिलीज़ समर्थन करते हैं। JUnit 5. सीआई पाइपलाइनों के लिए समानांतर निष्पादन और टैग-आधारित फ़िल्टरिंग।

एआई सहायक उपयोगकर्ता कहानियों, स्वीकृति मानदंडों और ऐतिहासिक दोषों का विश्लेषण करके गिवन-व्हेन-देन प्रारूप में गेरकिन परिदृश्य तैयार करते हैं। वे सीमावर्ती मामलों, वैकल्पिक पथों और टैग सुझावों का सुझाव देते हैं ताकि बीडीडी टीमें प्रत्येक फीचर फ़ाइल को हाथ से लिखने में घंटों खर्च किए बिना अधिक व्यवहार को कवर कर सकें।

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

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