what is hybrid framework selenium
यह जानकारीपूर्ण ट्यूटोरियल समझाता है कि हाइब्रिड फ्रेमवर्क, उपयोग और सेलेनियम हाइब्रिड ड्रिवेन फ्रेमवर्क के घटक क्या हैं और इसे कैसे लागू करें:
हाइब्रिड फ्रेमवर्क क्या है?
हाइब्रिड ड्रिवेन फ्रेमवर्क डाटा-ड्रिवेन और की-वर्ड-ड्रिवेन फ्रेमवर्क दोनों का एक संयोजन है।
यहां, कीवर्ड, साथ ही परीक्षण डेटा को बाह्यीकृत किया जाता है। कीवर्ड एक अलग जावा क्लास फ़ाइल में बनाए रखे जाते हैं और टेस्ट डेटा को किसी प्रॉपर्टी फ़ाइल / एक्सेल फाइल में बनाए रखा जा सकता है / टेस्टएनजी फ्रेमवर्क के डेटा प्रदाता का उपयोग कर सकते हैं।
=> यहां सेलेनियम प्रशिक्षण ट्यूटोरियल के ए-जेड को देखने के लिए यहां देखें।
आप क्या सीखेंगे:
डीवीडी चीर और मुफ्त सॉफ्टवेयर जला
हाइब्रिड फ्रेमवर्क का परिचय
यहाँ वीडियो ट्यूटोरियल है:
हाइब्रिड ड्रिवेन फ्रेमवर्क ज्यादातर हैमैन्युअल परीक्षकों द्वारा उपयोग किया जाता है जिनके पास नहीं हैप्रोग्रामिंग भाषाओं का ज्यादा ज्ञान। ऐसे लोगों को केवल कीवर्ड, टेस्ट डेटा, ऑब्जेक्ट रिपॉजिटरी पर एक नज़र रखनी चाहिए और फ्रेमवर्क में कुछ भी कोड किए बिना, तुरंत परीक्षण केस बनाना शुरू कर देना चाहिए।
हाइब्रिड ड्रिवेन फ्रेमवर्क के घटक
हाइब्रिड फ्रेमवर्क के घटक कीवर्ड ड्रिवेन फ्रेमवर्क के घटकों के समान हैंजिसमें प्रत्येक टेस्ट डेटा, साथ ही साथ कीवर्ड, बाहरी रूप से स्क्रिप्ट को अधिक सामान्यीकृत रूप में प्रदर्शित करते हैं
- फंक्शन लाइब्रेरी
- कीवर्ड को संग्रहीत करने के लिए एक्सेल शीट
- डिजाइन टेस्ट केस टेम्प्लेट
- एलिमेंट रिपॉजिटरी फॉर एलिमेंट्स / लोकेटर
- टेस्ट लिपियों या ड्राइवर स्क्रिप्ट
(1) फंक्शन लाइब्रेरी
उपयोगकर्ता-परिभाषित विधियाँ प्रत्येक उपयोगकर्ता कार्रवाई के लिए बनाई गई हैं। दूसरे शब्दों में, लाइब्रेरी फ़ाइल में कीवर्ड बनाए जाते हैं।
उदाहरण के लिए: आइए हम नीचे दिए गए परीक्षण मामलों को स्वचालित करने के लिए एक उदाहरण लेते हैं।
टेस्ट केस नं | विवरण | टेस्ट स्टेप्स | अपेक्षित परिणाम | ||
---|---|---|---|---|---|
जोर देना | xpath | // div (समाहित है (@ id, 'usericon')) | प्रदर्शित | ||
1 | अमेज़न लोगो को सत्यापित करें | 1. URL दर्ज करें - https://www.amazon.com | अमेज़ॅन लोगो को होम पेज में प्रदर्शित किया जाना चाहिए | ||
दो | मान्य साइन इन करें | 1. URL दर्ज करें - https://www.amazon.com 2. 'साइन इन' लिंक पर क्लिक करें 3. मान्य ईमेल दर्ज करें 4. जारी रखें पर क्लिक करें 5. मान्य पासवर्ड दर्ज करें 6. SignInButton पर क्लिक करें | उपयोगकर्ता चिह्न मुखपृष्ठ में मौजूद होना चाहिए | ||
३ | अमान्य लॉगिन | 1. URL दर्ज करें - https://www.amazon.com 2. 'साइन इन' लिंक पर क्लिक करें 3. अमान्य ईमेल दर्ज करें 4. जारी रखें पर क्लिक करें | इस त्रुटि संदेश में 'कोई खाता नहीं ढूँढ सकता' होना चाहिए |
सबसे पहले, परीक्षण मामलों और इसके परीक्षण चरणों का विश्लेषण किया जाता है और इसके कार्यों को नीचे नोट किया जाता है।
कहते हैं, में टीसी 01: मौजूद अमेज़ॅन लोगो को सत्यापित करें- उपयोगकर्ता क्रियाएं होंगी: URL दर्ज करें
में टीसी 02: मान्य साइन इन करें- उपयोगकर्ता क्रियाएँ URL दर्ज करें, क्लिक करें, टाइप करें
में TC03: अमान्य लॉगिन सत्यापित करें- उपयोगकर्ता क्रियाएँ URL दर्ज करें, क्लिक करें, टाइप करें
अब, लाइब्रेरी फ़ाइल प्रत्येक क्रिया के लिए नीचे दिए गए कीवर्ड के साथ बनाई जाएगी:
कैसे ग्रहण में परियोजना बनाने के लिए
Keywords.java
package Keywords.Defined; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; public class Keywords { String path = System.getProperty('user.dir'); WebDriver driver; // driver object is declared //method for entering URL – Keyword is ‘enter_URL’ public void enter_URL(WebDriver driver,String TestData) throws IOException { driver.get(TestData); } //method for typing action – Keyword is ‘type’ public void typeIn(WebDriver driver, String locatorValue, String locatorType, String testdata) { driver.findElement(this.getObject(ObjectName,locatorType)).sendKeys(testdata); } //method for click action – Keyword is ‘click’ public void click(WebDriver driver, String locatorValue, String locatorType) { driver.findElement(this.getObject(ObjectName,locatorType)).click(); } }
# 2) एक्सेल शीट कीवर्ड स्टोर करने के लिए
लाइब्रेरी फ़ाइल में बनाए गए कीवर्ड को एक्सेल शीट में उसके विवरण के साथ संग्रहित किया जाता है, जो किसी भी व्यक्ति को समझने के लिए इस रूपरेखा का उपयोग करता है।
# 3) डिजाइन टेस्ट केस टेम्प्लेट
फ्रेमवर्क के लिए एक टेस्ट केस टेम्प्लेट बनाया जाता है। पालन करने के लिए कोई विशेष टेम्पलेट नहीं है। हाइब्रिड फ्रेमवर्क के अनुसार, टेस्ट डेटा और कीवर्ड दोनों को बाहरी किया जाना चाहिए। तो, तदनुसार एक टेम्पलेट बनाया जाता है। उदाहरण के लिए:
टेस्ट केस के लिए २ - मान्य साइन इन सत्यापित करें
टेस्ट स्टेप्स | लोकेटर प्रकार | लोकेटर मान | परीक्षण डेटा | जोर लगाना | अपेक्षित मूल्य |
---|---|---|---|---|---|
यू आर एल दर्ज करो | https://www.amazon.com | ||||
क्लिक | xpath | // div (समाहित है (@ आईडी, 'साइन इन')) | |||
में टाइप करें | xpath | // div (सम्मिलित है (@ आईडी, 'ईमेल')) | test@gmail.com | ||
क्लिक | xpath | // div (सम्मिलित है (@ id, 'जारी')) | |||
में टाइप करें | ईद | पारण शब्द | पासवर्ड @ 123 | ||
क्लिक | ईद | साइन इन करें |
इसी तरह, प्रत्येक परीक्षण मामले के लिए एक अलग शीट में परीक्षण चरण भरे जाते हैं।
# 4) ऑब्जेक्ट रिपोजिटरी फॉर एलिमेंट्स
वेबपेज पर सभी तत्वों के लिए एक अलग रिपॉजिटरी बनी हुई है। प्रत्येक WebElement को एक ऑब्जेक्ट रिपॉजिटरी में इसके मूल्य के बाद नाम के साथ संदर्भित किया जाता है (इस मामले में, यह एक गुण फ़ाइल है)। टेस्ट केस टेम्प्लेट ऑब्जेक्ट का नाम रखेगा और इसका मान नीचे के रूप में रिपॉजिटरी से लिया गया है:
यहाँ, LoginLink ऑब्जेक्ट का नाम है और इसका मान OR.properties से div // div (इसमें शामिल है (@id, 'SignIn'))
तदनुसार, ObjectRepository से मान पढ़ने के लिए कोड को Script.java स्क्रिप्ट में शामिल किया जाएगा
उदाहरण के लिए लाइब्रेरी फ़ाइल: कीवर्ड.जवा में 'क्लिक' कार्रवाई पर विचार करें
public class Keywords { public void click(WebDriver driver, String ObjectName, String locatorType) throws IOException{ driver.findElement(this.getObject(ObjectName, locatorType)).click(); } By getObject(String ObjectName, String locatorType) throws IOException{ //Object Repository is opened File file = new File(path+'\Externals\Object Repository.properties'); FileInputStream fileInput = new FileInputStream(file); //Properties file is read Properties prop = new Properties(); //find by xpath if(locatorType.equalsIgnoreCase('XPATH')){ return By.xpath(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by class else if(locatorType.equalsIgnoreCase('ID')){ return By.Id(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by name else if(locatorType.equalsIgnoreCase('NAME')){ return By.name(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } return null; } }
टेस्ट मामलों में टेस्ट डेटा के लिए ऑब्जेक्ट रिपोजिटरी
मुझे एक सरल उदाहरण दिखाते हैं कि कैसे स्क्रिप्ट में शामिल सभी परीक्षण डेटा को बाह्यीकृत किया जाता है, जिसमें रूपरेखा अधिक सामान्यीकृत होती है।
- टेस्ट केस टेम्प्लेट से बाहरी डेटा की जाँच करना:
कैसे एक makefile c ++ लिखने के लिए
इसी तरह, गुण फ़ाइल से परीक्षण डेटा भी पढ़ा जाता है।
- सामान्य स्क्रिप्ट में परीक्षण डेटा के लिए ऑब्जेक्ट रिपोजिटरी
अन्य सामान्य डेटा जैसे कि ब्राउज़र का नाम, निष्पादन योग्य ड्राइवर का स्थान, टेस्ट केस फाइलनाम, आदि को भी एक अलग रिपॉजिटरी में बाह्य किया जा सकता है।
उपरोक्त उदाहरण में, ब्राउज़र पैरामीटर को गुण फ़ाइल में मूलीकृत किया गया है - Basic.properties।
- TestNG सुइट से टेस्ट डेटा पास करना:
TestData को TestNG के एक सूट फ़ाइल से विधि में भी पारित किया जा सकता है।
हम उस कक्षा के ठीक ऊपर TestNG.xml फ़ाइल में टैग का उपयोग करते हैं जहाँ इसका उपयोग किया जाता है।
वाक्य - विन्यास:
एक बार परीक्षण सूट को पैरामीटर नाम और उसके मूल्य के साथ निर्दिष्ट किया जाता है, स्क्रिप्ट में एनोटेशन का उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि कौन सी विधि मूल्य का उपयोग करती है। यह @ पैरामीटर्स एनोटेशन का उपयोग करके निर्दिष्ट किया गया है।
वाक्य - विन्यास: @ पैरामीटर ({'value_to_be_passed'})
एक विधि से कई मापदंडों को भी पास किया जा सकता है:
वाक्य - विन्यास :
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
ध्यान दें कि यह एक ही पैरामीटर के कई मूल्यों को संदर्भित नहीं करता है, यह केवल विभिन्न मापदंडों के कई मूल्यों को लेता है।
# 5) ड्राइवर स्क्रिप्ट
इसमें परीक्षण केस टेम्पलेट एक्सेल शीट से सभी परीक्षण मामलों को पढ़ने के लिए मुख्य तर्क होता है और लाइब्रेरी फ़ाइल से पढ़कर संबंधित क्रिया करता है। स्क्रिप्ट का निर्माण परीक्षण केस टेम्पलेट के आधार पर किया गया है।
निष्कर्ष
इस प्रकार, किसी भी एप्लिकेशन को स्वचालित करने के लिए एक हाइब्रिड फ्रेमवर्क बनाया और उपयोग किया जा सकता है। यह, बदले में, स्वचालन कोड को स्क्रिप्ट करने में खर्च किए गए मानव-घंटे को कम कर देगा, क्योंकि एक बार बनाए गए फ्रेमवर्क का उपयोग कई अनुप्रयोगों को स्वचालित करने के लिए किया जा सकता है।
इसी तरह, परियोजना की जरूरतों के अनुसार फ्रेमवर्क बनाया जा सकता है और स्वचालन उद्देश्यों के लिए उपयोग किया जा सकता है।
हमें उम्मीद है कि आपने सेलेनियम पर जानकारीपूर्ण ट्यूटोरियल की श्रृंखला का आनंद लिया है!
=> सभी सेलेनियम ट्यूटोरियल यहाँ देखें।
अनुशंसित पाठ
- अपाचे POI का उपयोग कर सेलेनियम वेबड्राइवर में डेटा ड्रिवेन फ्रेमवर्क
- सेलेनियम फ्रेमवर्क निर्माण और एक्सेल से टेस्टिंग डेटा - सेलेनियम ट्यूटोरियल # 21
- सेलेनियम स्क्रिप्ट में JUnit फ्रेमवर्क और इसके उपयोग का परिचय - सेलेनियम ट्यूटोरियल # 11
- सेलेनियम लिपियों के निर्माण के लिए TestNG फ्रेमवर्क का उपयोग कैसे करें - TestNG सेलेनियम ट्यूटोरियल # 12
- स्पॉक फ्रेमवर्क के साथ डेटा-संचालित या परिमितित परीक्षण
- ककड़ी सेलेनियम ट्यूटोरियल: ककड़ी जावा सेलेनियम वेबड्राइवर एकीकरण
- सेलेनियम वेबड्राइवर का परिचय - सेलेनियम ट्यूटोरियल # 8
- सेलेनियम वेब ड्राइवर में एक्सेल शीट से डेटा कैसे पढ़ें या लिखें