how develop test scripts using top 5 most popular test automation frameworks
जब आप परीक्षण स्वचालन के बारे में सीखना शुरू करते हैं, तो आपको 'परीक्षण स्वचालन ढांचे' शब्द के पार आना होगा। हो सकता है कि आपमें से कुछ लोग इस शब्द से असहज हो जाएं और महसूस करने लगें कि यह एक ऐसी चीज है जिसे समझना मुश्किल है और इसे लागू करना और भी मुश्किल है।
इस ट्यूटोरियल को उद्देश्य के साथ लिखा गया है ताकि आप परीक्षण स्वचालन ढांचे को यथासंभव सरलता से समझ सकें। इसमें सभी ट्यूटोरियल पढ़ें ' ऑटोमेशन टेस्टिंग ट्युटोरियलज़ सीरीज़ ।
परीक्षण स्वचालन ढांचा (बहुत सरल भाषा में) 'नियमों का समूह' है। नियम हमें इस तरह से स्क्रिप्ट लिखने में मदद करते हैं जिसके परिणामस्वरूप 'कम रखरखाव' होता है।
ढांचे की अवधारणा को पूरी तरह से समझने के लिए, हमें पहले यह सीखना होगा कि हम सरल स्क्रिप्ट कैसे लिखते हैं और फिर उन पर एक रूपरेखा कैसे लागू करें।
परीक्षण स्वचालन में, हम स्क्रिप्ट लिखते हैं। स्क्रिप्टिंग मूल रूप से तीन ’s ए की है:
- व्यवस्था
- कार्रवाई
- अभिकथन
नीचे प्रत्येक ए का विवरण है, उदाहरण के साथ:
# 1व्यवस्थाया वस्तु पहचान
हम वस्तुओं (बटन, ड्रॉपडाउन आदि) की पहचान या तो उनके आईडी, नाम या उनके विंडो टाइटल आदि द्वारा करते हैं।
वेब एप्लिकेशन के मामले में, हम उपयोगकर्ता आईडी, या XPath या सीएसएस या वर्ग नाम आदि द्वारा पहचानते हैं। यदि कुछ भी काम नहीं करता है, तो हम माउस निर्देशांक का उपयोग करके वस्तुओं की पहचान करते हैं (लेकिन यह ऑब्जेक्ट पहचान का एक विश्वसनीय तरीका नहीं है)
सेलेनियम वेबड्राइवर (सी # के साथ) का यह उदाहरण लें जिसमें हम आईडी का उपयोग करके वस्तुओं की पहचान करते हैं। (वेब एप्लीकेशन)
IWebElement txtServer = _webDriver.FindElement(By.Id('tfsServerURL'));
MS Coded UI (डेस्कटॉप अनुप्रयोग) से एक और उदाहरण
WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add';
पहचान के बाद, हम इन वस्तुओं को UIMaps या ऑब्जेक्ट रिपोजिटरी में संग्रहीत करते हैं या उन्हें हमारी स्क्रिप्ट में पुन: उपयोग करने के लिए संग्रहीत करते हैं। इसीलिए इस कदम को ARRANGEMENT कहा जाता है।
#दो।कार्रवाईआइडेंटिफाइड ऑब्जेक्ट पर
जब वस्तुओं की पहचान की जाती है, तो हम उस पर माउस या कीबोर्ड द्वारा कुछ प्रकार की क्रियाएं करते हैं।उदाहरण के लिएया तो हम क्लिक करते हैं, या हम डबल-क्लिक करते हैं, या हम उस पर माउस हॉवर करते हैं या कभी-कभी हम ड्रैग-ड्रॉप करते हैं। कभी-कभी हम टेक्स्ट बॉक्स पर लिखते हैं। इसलिए हम इन वस्तुओं पर किसी भी प्रकार की कार्रवाई इस दूसरे चरण में करते हैं।
उदाहरण 1 : (सेलेनियम वेबड्राइवर सी # के साथ)
txtServer.Clear(); txtServer.SendKeys(“Some sample text”);
उदाहरण 2 : (C # के साथ MS कोडित UI)
Mouse.Click(buttonAdd);
# 3अभिकथन
मुखर मूल रूप से कुछ अपेक्षित परिणाम के साथ वस्तु की जांच कर रहा है। उदाहरण के लिए, यदि हम कैलकुलेटर पर 2 + 3 दबाते हैं, तो स्क्रीन को दिखाना चाहिए 5. इस मामले में, हमारा अपेक्षित परिणाम 5. है। यह अवधारणा पहले से ही हमारे पहले ट्यूटोरियल में बताई गई है।
यहाँ हम मुखरता का उदाहरण देते हैं:
वीडियो गेम कंपनियां काम करती हैं
Assert.AreEqual('5', txtResult.DisplayText);
टेस्ट ऑटोमेशन में लिखी गई लगभग हर लिपि में ये तीन चीजें होती हैं: व्यवस्था, कार्य और अभिकथन।
अब एक संपूर्ण स्क्रिप्ट पर नज़र डालें जिसमें ये सभी चरण हैं। स्क्रिप्ट एक कैलकुलेटर खोलेगी, 1 + 6 दबाएं और फिर जांचें कि स्क्रीन 7 दिखाती है या नहीं।
उदाहरण ए:
(TestMethod) (TestMethod) public void TestCalculator() { var app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //Object identification part (ARRANGEMENT) //----*Calculator Window----*// WinWindow calWindow = new WinWindow(app); calWindow.SearchProperties(WinWindow.PropertyNames.Name) = 'Calculator'; calWindow.SearchProperties(WinWindow.PropertyNames.ClassName) = 'CalcFrame'; //----*Button1 ----*// WinButton btn1 = new WinButton(calWindow); btn1.SearchProperties(WinButton.PropertyNames.Name) = '1'; //----*Button Add ----*// WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add'; //----*Button 6 ----*// WinButton btn6 = new WinButton(calWindow); btn6.SearchProperties(WinButton.PropertyNames.Name) = '6'; //----*Button Equals ----*// WinButton btnEquals = new WinButton(calWindow); btnEquals.SearchProperties(WinButton.PropertyNames.Name) = 'Equals'; //----*Text Box Results----*// WinText txtResult = new WinText(calWindow); txtResult.SearchProperties(WinText.PropertyNames.Name) = 'Result'; //(ACTIONS Part) // Click '1' button Mouse.Click(btn1); // Click 'Add' button Mouse.Click(btnAdd); // Click '6' button Mouse.Click(btn6); // Click 'Equals' button Mouse.Click(btnEquals); //evaluate the results (ASSERTIONS) Assert.AreEqual('7', txtResult.DisplayText, “Screen is not displaying 7); //close the application app.Close(); }
आप क्या सीखेंगे:
- उस स्क्रिप्ट में क्या गलत है?
- परीक्षण स्वचालन में पांच लोकप्रिय ढांचे हैं:
- # 1 रैखिक फ्रेमवर्क:
- # २। मॉड्यूलर फ्रेमवर्क:
- # 3 डेटा संचालित फ्रेमवर्क:
- # 4 कीवर्ड-संचालित फ्रेमवर्क:
- # 5 हाइब्रिड टेस्ट ऑटोमेशन फ्रेमवर्क:
- निष्कर्ष
- अनुशंसित पाठ
उस स्क्रिप्ट में क्या गलत है?
स्क्रिप्ट को समझना आसान है और मुझे उम्मीद है कि आपको उपरोक्त उदाहरण में तीन in ए की अवधारणा मिलेगी। लेकिन उस स्क्रिप्ट के साथ सब ठीक नहीं है।
यह स्क्रिप्ट आसान रखरखाव की अनुमति नहीं देती है। कैलकुलेटर का फिर से उदाहरण लें, अगर हमें कैलकुलेटर के प्रत्येक फ़ंक्शन के परीक्षण मामलों को लिखना है, तो कई परीक्षण मामले होंगे। यदि 10 परीक्षण मामले हैं और प्रत्येक परीक्षण में, हमें एक ही वस्तु को परिभाषित करना है, तो यदि वस्तु के नाम या आईडी में कोई परिवर्तन होता है, तो हमें 10 परीक्षण मामलों में वस्तु पहचान भाग को बदलना होगा।
उदाहरण के लिए, स्क्रिप्ट में बटन ADD का उदाहरण लें।
WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add';
बता दें, इस लाइन का इस्तेमाल 10 परीक्षण मामलों में किया जाता है। अब कैलकुलेटर के अगले संस्करण में, डेवलपर ने बटन का नाम 'ऐड' से बदलकर 'प्लस' कर दिया है। अब जब हम अपने परीक्षण मामलों को चलाते हैं, तो वे विफल हो जाएंगे और हमें 10 परीक्षण मामलों में उपरोक्त पंक्ति को बदलना होगा।
btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Plus';
इसलिए हमें इस परीक्षण मामले में सुधार करना होगा। हमें अपने कोडिंग में प्रसिद्ध DRY सिद्धांत का पालन करना चाहिए। DRY का अर्थ है 'अपने आप को दोहराना नहीं'। हमें वस्तु पहचान भाग को इस तरह लिखना चाहिए कि वस्तु को केवल एक ही स्थान पर पहचाना जाना चाहिए और हर जगह बुलाया जाना चाहिए।
बेहतर स्क्रिप्ट पर एक नज़र डालें।
उदाहरण बी:
//defining the objects outside the script and only once. ApplicationUnderTest app = null; public WinWindow calWindow { get { WinWindow _calWindow = new WinWindow(app); _calWindow.SearchProperties(WinWindow.PropertyNames.Name) = 'Calculator'; _calWindow.SearchProperties(WinWindow.PropertyNames.ClassName) = 'CalcFrame'; return _calWindow; } } public WinText txtResult { get { WinText _txtResult = new WinText(calWindow); _txtResult.SearchProperties(WinText.PropertyNames.Name) = 'Result'; return _txtResult; } } //making functions for similar kind of tasks public void ClickButton(string BtnName) { WinButton button = new WinButton(calWindow); button.SearchProperties(WinButton.PropertyNames.Name) = BtnName ; Mouse.Click(button); } public void AddTwoNumbers(string number1, string number2) { ClickButton(number1); ClickButton('Add'); ClickButton(number2); ClickButton('Equals'); } //Test case becomes simple and easy to maintain. (TestMethod) public void TestCalculatorModular() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //do all the operations AddTwoNumbers('6', '1'); //evaluate the results Assert.AreEqual('7', txtResult.DisplayText, “screen is not displaying 7”); //close the application app.Close(); }
उपरोक्त उदाहरण में, हमने अलग किया है CalWindow तथा txtResult ऑब्जेक्ट और उन्हें शीर्ष पर ले जाते हैं ताकि उन्हें विभिन्न परीक्षण विधियों में उपयोग किया जा सके। हमने उन्हें केवल एक बार परिभाषित किया है और हम उन्हें जितने चाहें उतने परीक्षण मामलों में उपयोग कर सकते हैं।
हमने दो फ़ंक्शन भी बनाए हैं। ClickButton () जो एक बटन नाम स्वीकार करता है और उस पर क्लिक करता है और AddTwoNumbers () जो किसी भी दो नंबर लेता है और उन्हें का उपयोग कर जोड़ें बटन पर क्लिक करें इसके अंदर कार्य करें।
जिस क्षण हम अपने कोड को 'सुधारना' शुरू करते हैं और इसे पुन: प्रयोज्य और रखरखाव योग्य बनाते हैं, इसका मतलब है, हम किसी भी स्वचालन ढांचे का उपयोग कर रहे हैं। अब यह दिलचस्प हो गया।
यह सभी देखें=> हमें परीक्षण स्वचालन के लिए रूपरेखा की आवश्यकता क्यों है?
वहां परीक्षण स्वचालन में पांच लोकप्रिय रूपरेखा :
- रैखिक
- मॉड्यूलरिटी
- डेटा प्रेरित
- कीवर्ड संचालित
- हाइब्रिड
अब हम इसकी विशेषताओं की मदद से प्रत्येक रूपरेखा की व्याख्या करेंगे।
# 1 रैखिक फ्रेमवर्क:
विशेषताएँ
- स्क्रिप्ट से जुड़ी हर चीज को स्क्रिप्ट के अंदर परिभाषित किया जाता है।
- अमूर्तता और कोड दोहराव के बारे में परवाह नहीं करता है
- रिकॉर्ड और प्लेबैक आम तौर पर रैखिक कोड उत्पन्न करते हैं
- शुरू करने के लिए आसान है
- रखरखाव दुःस्वप्न।
रैखिक फ्रेमवर्क की उपरोक्त 5 विशेषताओं को पढ़कर, हम आसानी से उनके उदाहरण ए से संबंधित कर सकते हैं। यह उदाहरण मूल रूप से रैखिक ढांचे का उपयोग कर रहा है, स्क्रिप्ट से संबंधित कभी भी बात स्क्रिप्ट के अंदर परिभाषित की जाती है। कॉल विंडो तथा TxtResult स्क्रिप्ट के अंदर परिभाषित हैं। स्क्रिप्ट में अमूर्तता और कोड के दोहराव की परवाह नहीं है। यह एक बुरा सपना है जैसा कि मैंने पहले बताया है।
तो हमें इस ढांचे का उपयोग क्यों करना चाहिए?
इस ढांचे का उपयोग छोटे पैमाने पर परियोजनाओं में किया जा सकता है जहां कई यूआई स्क्रीन नहीं हैं। इसके अलावा, जब हम पहली बार किसी भी स्वचालन उपकरण का उपयोग करते हैं, तो यह आमतौर पर रैखिक रूप में कोड उत्पन्न करता है। तो हम इस बारे में जान सकते हैं कि विशिष्ट कार्यों के लिए ऑटोमेशन टूल द्वारा क्या कोड तैयार किया गया है। इन कारणों के अलावा, इस रूपरेखा को आपके स्क्रिप्टिंग में टाला जाना चाहिए।
=> यहाँ QTP उदाहरण के साथ रैखिक और खोजशब्द रूपरेखा का उदाहरण देखें।
# २। मॉड्यूलर फ्रेमवर्क:
विशेषताएँ
- वस्तुओं को एक बार परिभाषित किया गया है और सभी परीक्षण विधियों में पुन: प्रयोज्य किया गया है।
- छोटे और टू-द-पॉइंट तरीके व्यक्तिगत कार्यक्षमता के लिए बनाए जाते हैं
- परीक्षण मामला इन छोटी विधियों और पुन: प्रयोज्य वस्तुओं का संग्रह है
- इससे हम मेंटेनेंस कोड लिख सकते हैं।
उपरोक्त विशेषताओं को पढ़कर, हम अपने उदाहरण B को इन विशेषताओं से संबंधित कर सकते हैं। उस उदाहरण में, हमने आगे बढ़ते हुए एक अमूर्त बनाया है CalWindow शीर्ष पर और इसे एक संपत्ति के अंदर परिभाषित करें जिसका उपयोग हर जगह किया जा सकता है। हमने दो छोटे और स्वतंत्र कार्यों का निर्माण किया है ClickButton () तथा AddTwoNumbers () । हम अपनी अंतिम स्क्रिप्ट बनाने के लिए इन दो छोटे कार्यों को जोड़ते हैं जो कैलकुलेटर की 'ऐड' कार्यक्षमता का परीक्षण करते हैं।
इससे रखरखाव आसान हो जाता है। यदि कैलकुलेटर UI में कोई परिवर्तन होता है, तो हमें केवल फ़ंक्शन में बदलना होगा। हमारी स्क्रिप्ट बरकरार रहेगी। स्वचालन में इस ढांचे का अत्यधिक उपयोग किया जाता है। प्रसिद्ध पेज ऑब्जेक्ट फ्रेमवर्क (जो सेलेनियम के साथ प्रयोग किया जाता है) भी एक प्रकार का मॉड्यूलर फ्रेमवर्क है। हम पूरे वेब एप्लिकेशन को अलग-अलग पृष्ठों में वितरित करते हैं। प्रत्येक पृष्ठ के बटन, ड्रॉपडाउन और चेकबॉक्स को उस पृष्ठ की कक्षा के अंदर परिभाषित किया गया है। यदि वेबसाइट पर कोई परिवर्तन होता है, तो हमें केवल उस पृष्ठ कक्षा में परिवर्तन करना होगा और अन्य पृष्ठ बरकरार रहेंगे। इससे स्क्रिप्ट के बेहतर रखरखाव और आसानी से पठनीयता आती है।
इस ढांचे का एकमात्र नकारात्मक पहलू यह है कि इसके लिए अच्छी वस्तु उन्मुख अवधारणाओं और मजबूत विकास कौशल की आवश्यकता होती है। यदि आपके पास वे हैं, तो यह रूपरेखा अत्यधिक अनुशंसित है।
# 3 डेटा संचालित फ्रेमवर्क:
विशेषताएँ:
- टेस्ट डेटा (इनपुट और आउटपुट मान) स्क्रिप्ट से अलग किए जाते हैं और बाहरी फ़ाइलों में संग्रहीत होते हैं। यह एक .CSV फ़ाइल, एक एक्सेल स्प्रेडशीट या एक डेटाबेस हो सकता है।
- जब स्क्रिप्ट निष्पादित होती है, तो इन मानों को बाहरी फ़ाइलों से चुना जाता है, जिन्हें चर में संग्रहीत किया जाता है और यदि मौजूद है तो हार्ड-कोडित मानों को प्रतिस्थापित करते हैं।
- वास्तव में उन जगहों पर उपयोगी है जहां एक ही परीक्षण के मामले को अलग-अलग इनपुट के साथ चलाया जाना है।
उदाहरण सी:
हम तीन अलग-अलग इनपुट के साथ ऐड टेस्ट केस चलाना चाहते हैं।
डेटा है
7 + 2 = 9
5 + 2 = 7
3 + 2 = 5
हमने इस डेटा (इनपुट और आउटपुट दोनों) को एक बाहरी CSV फ़ाइल में संग्रहीत किया है।
(DataSource('Microsoft.VisualStudio.TestTools.DataSource.CSV', '|DataDirectory|\data.csv', 'data#csv', DataAccessMethod. Sequential ), DeploymentItem('TestCalc\data.csv'), TestMethod) public void TestCalculatorDataDrivsen() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //do all the operations AddTwoNumbers(FromCSV.ADD1, FromCSV.ADD2); //evaluate the results Assert.AreEqual(FromCSV.Sum, txtResult.DisplayText); //close the application app.Close(); }
उपरोक्त स्क्रिप्ट में, हम अपने डेटा स्रोत को स्क्रिप्ट के शीर्ष पर परिभाषित करते हैं, जो एक .csv फ़ाइल है।
हमने उस .CSV फ़ाइल का पथ दिया है और स्क्रिप्ट को 'अनुक्रमिक रूप से' पार्स करने के लिए कहा है। इसका मतलब है कि स्क्रिप्ट कई बार चलेगी क्योंकि CSV फ़ाइल में मौजूद पंक्तियाँ हैं। हमारे मामले में, स्क्रिप्ट 3 बार चलेगी। प्रत्येक रन में, यह पहले दो कॉलमों में परिभाषित दो संख्याओं को जोड़ देगा और सत्यापित करेगा कि इन दोनों संख्याओं का योग तीसरे कॉलम में मौजूद संख्या से मेल खाता है।
इस ढांचे के विभिन्न फायदे हैं। सभी मान स्क्रिप्ट के बाहर संग्रहीत किए जाते हैं, इसलिए यदि अगले निर्माण में कोई परिवर्तन होगा, तो हमें बस बाहरी फ़ाइल में डेटा बदलना होगा और स्क्रिप्ट बरकरार रहेगी।
दूसरा फायदा यह है कि एक ही स्क्रिप्ट को अलग-अलग इनपुट के लिए चलाया जा सकता है। एक ईआरपी का उदाहरण लें जिसमें आपको 100 कर्मचारियों के पंजीकरण का परीक्षण करना है। आप एक स्क्रिप्ट लिख सकते हैं और बाहरी फ़ाइल में कर्मचारियों से संबंधित नाम और अन्य डेटा संग्रहीत कर सकते हैं। आप एक स्क्रिप्ट पर अमल करेंगे और यह 100 बार चलेगी। हर बार विभिन्न कर्मचारियों के डेटा के साथ। आप आसानी से पता लगा सकते हैं कि किस डेटा पर कर्मचारी रजिस्टर करने में विफल रहता है। यह एक अतिरिक्त लाभ होगा जब आप नकारात्मक परीक्षण कर रहे हैं।
=> यहां देखें QTP उदाहरण के साथ डेटा संचालित और हाइब्रिड फ्रेमवर्क का उदाहरण।
# 4 कीवर्ड-संचालित फ्रेमवर्क:
विशेषताएँ:
- स्क्रिप्ट के बाहर डेटा और क्रियाएं दोनों को परिभाषित किया गया है।
- इसके लिए विभिन्न प्रकार के कार्यों के लिए खोजशब्दों के विकास की आवश्यकता थी।
- हमें जो कार्यक्षमता का परीक्षण करना है, वह हमारे द्वारा विकसित किए गए कीवर्ड और परीक्षण डेटा का उपयोग करते हुए सारणीबद्ध तरीके से चरणबद्ध तरीके से लिखा गया है। हम इस तालिका को डेटा संचालित ढांचे की तरह बाहरी फ़ाइलों में संग्रहीत करते हैं।
- स्क्रिप्ट इस तालिका को पार्स करेगी, और इसी क्रिया को करेगी।
- मैन्युअल परीक्षक को अनुमति देता है जो कुछ हद तक स्वचालन का हिस्सा बनने के बारे में नहीं जानता है।
उदाहरण डी:
हमने सारणीबद्ध रूप में एक्सेल फ़ाइल में डेटा (जैसे 1 + 3 = 4) के साथ-साथ क्रियाएँ (जैसे, क्लिक, स्पष्ट आदि) को परिभाषित किया।
स्क्रिप्ट कुछ इस तरह से बनेगी (नीचे कोड सिर्फ समझ के लिए लिखा गया है)
(TestMethod) public void TestCalculator() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); Table tb = ReadFromExcel(); Foreach(WinRow row in tb) { WinCell Window = row.Cells(“Window”); WinCell Control = row.Cells(“Control”); WinCell Action = row.Cells(“Action”); WinCell Arguments = row.Cells(“Arguments”); UITestControl c = GetControl(Control.Text,Window.Text); If(Action.Text == “Click”) Mouse.Click (c); If (Action.Text == “Clear”) c.Clear(); if(Action.Text == “Verify Result”) Assert.AreEqual(c.Text, Arguments.Text) //….and so on } }
उपरोक्त स्क्रिप्ट एक्सेल फ़ाइल का सिर्फ एक पार्सर है। यह एक्सेल फाइल लाइन को लाइन से पार्स करता है और संबंधित कार्यों को करने के लिए कीवर्ड की तलाश करता है। यदि यह 'क्लिक' कीवर्ड पाता है, तो यह परिभाषित ऑब्जेक्ट पर क्लिक करेगा। यदि यह 'सत्यापित परिणाम' पाता है, तो यह दावा करेगा।
कीवर्ड संचालित फ्रेमवर्क का उपयोग करने के विभिन्न फायदे हैं।
पहला लाभ यह है कि यह ढांचा उन परिदृश्यों में बहुत मददगार है जहां परीक्षण मामलों में बदलाव की बहुत संभावना है। यदि परीक्षण के मामले में कोई भी कदम बदलता है, तो हमें कोड को छूने की आवश्यकता नहीं है। हमें सिर्फ एक्सेल फाइल को अपडेट करना है और स्क्रिप्ट को अपडेट करना होगा।
आप अपनी सभी लिपियों को एक एक्सेल फ़ाइल में परिभाषित कर सकते हैं और इस एक्सेल फाइल को मैन्युअल परीक्षकों को सौंप सकते हैं ताकि नई स्क्रिप्ट को जोड़ सकें या मौजूदा लोगों को अपडेट कर सकें। इस तरह, मैन्युअल परीक्षक भी टेस्ट ऑटोमेशन का हिस्सा बन सकते हैं क्योंकि उन्हें कुछ भी कोड करने की आवश्यकता नहीं होती है। वे केवल इस एक्सेल फाइल को अपडेट करेंगे जब कोई जरूरत होगी और स्क्रिप्ट अपने आप अपडेट हो जाएगी।
दूसरा फायदा यह है कि आपकी स्क्रिप्ट स्वतंत्र हो जाती है। आप अपनी स्क्रिप्ट को एक्सेल फ़ाइल में बनाए रख सकते हैं और यदि आपको किसी बिंदु पर अपने स्वचालन उपकरण को बदलने की आवश्यकता है, तो आप आसानी से किसी अन्य टूल में एक्सेल पार्सर लिखकर इसे बदल सकते हैं।
इस रूपरेखा का नकारात्मक पक्ष यह है कि आपको विभिन्न प्रकार के कार्यों के लिए खोजशब्दों का आविष्कार करना होगा। बड़े पैमाने पर परियोजनाओं में, बहुत सारे कीवर्ड होंगे जिन्हें आपको अपनी स्क्रिप्ट और कीवर्ड को याद रखने और व्यवस्थित करने की आवश्यकता है। यह स्वयं एक बिंदु पर बोझिल कार्य बन जाता है।
कुछ जटिल परिदृश्यों में, जहाँ वस्तुओं को आसानी से पहचाना नहीं जा सकता है और हमें माउस निर्देशांक और अन्य तकनीकों का उपयोग करने की आवश्यकता है, यह रूपरेखा बहुत उपयोगी नहीं है।
कीवर्ड चालित अभी भी कई स्वचालन परीक्षकों के लिए एक पसंदीदा ढांचा है। रोबोट की रूपरेखा Google द्वारा एक लोकप्रिय कीवर्ड संचालित फ्रेमवर्क है जो एक सक्रिय समुदाय द्वारा समर्थित है।
# 5 हाइब्रिड टेस्ट ऑटोमेशन फ्रेमवर्क:
विशेषताएँ:
- उपरोक्त तकनीकों में से दो या अधिक का संयोजन, उनकी ताकत से लेना और उनकी कमजोरियों को कम करना।
- फ्रेमवर्क डेटा-संचालित या कीवर्ड-संचालित फ्रेमवर्क के साथ-साथ मॉड्यूलर दृष्टिकोण का उपयोग कर सकता है।
- फ़्रेमवर्क कुछ कार्यों को करने के लिए स्क्रिप्ट का उपयोग कर सकता है जो शुद्ध कीवर्ड संचालित दृष्टिकोण में लागू करना बहुत मुश्किल हो सकता है।
सरल शब्दों में, हाइब्रिड फ्रेमवर्क, उपरोक्त तकनीकों के संयोजन का उपयोग करें। हम एक डेटा-संचालित फ्रेमवर्क का उपयोग कर सकते हैं जो प्रकृति में भी मॉड्यूलर है। कुछ परीक्षण मामलों के लिए, हम कीवर्ड-संचालित दृष्टिकोण का उपयोग कर सकते हैं और शेष के लिए हम मॉड्यूलर का उपयोग कर सकते हैं। इसलिए जब भी हम इस लेख में उल्लिखित दो या अधिक तकनीकों को मिलाते हैं, हम वास्तव में एक हाइब्रिड दृष्टिकोण का उपयोग कर रहे हैं।
निष्कर्ष
मुझे उम्मीद है कि परीक्षण स्वचालन ढांचा अब आपके लिए एक डरावना शब्द नहीं है। मैंने यथासंभव सबसे लोकप्रिय रूपरेखाओं को समझाने की कोशिश की।
आपके जीवन को आसान बनाने के लिए यहाँ चौखटे हैं। वे आपको बनाए रखने योग्य और विश्वसनीय स्क्रिप्ट लिखने में मदद करते हैं। चौखटे का उपयोग किए बिना, परीक्षण स्वचालन क्षेत्र एक बुरा सपना है। एप्लिकेशन में प्रत्येक छोटे परिवर्तन के लिए, आपको सैकड़ों स्थानों पर अपना कोड बदलना होगा।
इसलिए इन रूपरेखाओं की समझ हर परीक्षक के लिए जरूरी है जो टेस्ट ऑटोमेशन का स्वाद चाहते हैं।
हमारे में अगला ट्यूटोरियल इस श्रृंखला में, हम 'परीक्षण स्वचालन की निष्पादन और रिपोर्टिंग' सीखेंगे।
अगर मुझे इस लेख में कुछ भी याद नहीं है या आपको कोई प्रश्न पूछने की आवश्यकता है, तो कृपया टिप्पणी अनुभाग में पूछने के लिए स्वतंत्र महसूस करें।
PREV ट्यूटोरियल # 4 | अगला ट्यूटोरियल # 6
बाहरी हार्ड ड्राइव के लिए सबसे अच्छा डेटा रिकवरी सॉफ़्टवेयर
अनुशंसित पाठ
- QTP फ्रेमवर्क - टेस्ट ऑटोमेशन फ्रेमवर्क - कीवर्ड ड्रिवेन और रैखिक फ्रेमवर्क उदाहरण - QTP ट्यूटोरियल # 17
- SeeTest स्वचालन कमांड: उदाहरणों के साथ एक विस्तृत व्याख्या
- 2021 में 10 सर्वाधिक लोकप्रिय रोबोटिक प्रक्रिया स्वचालन RPA उपकरण
- मैनुअल और ऑटोमेशन प्रोजेक्ट्स के लिए टेस्ट प्लानिंग अंतर क्या है?
- सबसे लोकप्रिय टेस्ट ऑटोमेशन फ्रेमवर्क प्रत्येक के पेशेवरों और विपक्षों के साथ - सेलेनियम ट्यूटोरियल # 20
- स्क्रिप्टलेस टेस्ट ऑटोमेशन फ्रेमवर्क: टूल और उदाहरण
- टेस्ट स्वचालन - यह एक विशेष कैरियर है? क्या सामान्य परीक्षक भी स्वचालन कर सकते हैं?
- 25 सर्वश्रेष्ठ जावा परीक्षण फ्रेमवर्क और स्वचालन परीक्षण के लिए उपकरण (भाग 3)