descriptive programming qtp
इस ट्यूटोरियल में, आप सीखेंगे QTP में वर्णनात्मक प्रोग्रामिंग क्या है , तथा QTP में डेटाबेस कनेक्शन यानी QTP का उपयोग करके डेटाबेस और एमएस एक्सेल शीट जैसे बाहरी डेटा स्रोतों से कैसे जुड़ें।
वर्णनात्मक प्रोग्रामिंग परीक्षण बनाने के लिए एक तंत्र है जहां आप उन्हें रिकॉर्ड करने के बजाय वस्तुओं के 'प्रोग्रामेटिक विवरण' का उपयोग करते हैं।
=> QTP प्रशिक्षण ट्यूटोरियल श्रृंखला के लिए यहां क्लिक करें
इस ट्यूटोरियल के विवरणों पर जाने से पहले इस QTP लेख श्रृंखला के बारे में एक त्वरित टिप्पणी:
यह हमारी ऑनलाइन QTP प्रशिक्षण श्रृंखला का अंतिम ट्यूटोरियल है। मुझे उम्मीद है कि आप सभी इन ट्यूटोरियल का आनंद लेंगे और उनसे सीखना शुरू कर देंगे।
हमें प्रतिक्रिया दे:
मैं न केवल इस ट्यूटोरियल श्रृंखला के लिए बल्कि समग्र साइट के बारे में आपकी प्रतिक्रिया की तलाश कर रहा हूं। कृप्या अपने विचार साझा करने के लिए यहां क्लिक करें इस वेबसाइट के बारे में। इसे पूरा करने में मुश्किल से दो मिनट का समय लगेगा। हम आपकी प्रतिक्रिया और सुझावों को महत्व देते हैं। हमें बताएं कि हम SoftwareTestingHelp.com के साथ अपने अनुभव को बेहतर बनाने के लिए क्या कर सकते हैं
sdlc में विश्लेषण चरण क्या है
आप क्या सीखेंगे:
QTP में वर्णनात्मक प्रोग्रामिंग
वर्णनात्मक प्रोग्रामिंग परीक्षण बनाने के लिए एक तंत्र है जहां आप उन्हें रिकॉर्ड करने के बजाय वस्तुओं के 'प्रोग्रामेटिक विवरण' का उपयोग करते हैं।
इस तकनीक का उपयोग करके QTP उन वस्तुओं की पहचान करने के लिए बनाया जा सकता है जो रिपॉजिटरी में नहीं हैं।
वर्णनात्मक प्रोग्रामिंग के 2 रूप हैं:
- स्टेटिक डिस्क्रिप्टिव प्रोग्रामिंग
- गतिशील वर्णनात्मक प्रोग्रामिंग
स्टेटिक डिस्क्रिप्टिव प्रोग्रामिंग
एक स्थिर विधि है जब आप किसी VB स्टेटमेंट में सीधे गुणों और मानों के एक सेट का उपयोग करके किसी ऑब्जेक्ट तक पहुंचने का प्रयास करते हैं।
सिंटैक्स: टेस्टऑब्जेक्ट ('संपत्ति का नाम 1: = संपत्ति का मूल्य', 'संपत्ति का नाम 2: = संपत्ति का मूल्य', ...))
आप इसका उपयोग कैसे करते हैं:
कैसे जावा में एक द्विआधारी खोज पेड़ को लागू करने के लिए
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
गतिशील वर्णनात्मक प्रोग्रामिंग
यह एक विवरण वस्तु बनाकर काम करता है। वेबबटन ऑब्जेक्ट बनाने के लिए निम्न उदाहरण देखें।
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass QTP में पूर्वनिर्धारित कक्षाओं को संदर्भित करता है। आपके द्वारा असाइन किए जाने वाले मान वेबबटन, वेबलिस्ट आदि हो सकते हैं।
- QTP में 10 micClass मान केस संवेदी होते हैं लेकिन QTP 11 में वे नहीं होते हैं। यदि आप QTP 10 में वेबबटन लिखते हैं तो यह विफल हो जाएगा। आपको वेबबटन लिखना होगा। लेकिन वही वेबबटन QTP 11 में पास होगा।
आप निम्नलिखित कथन का उपयोग करके एक पृष्ठ में एक निश्चित वर्ग की सभी वस्तुओं को निकाल सकते हैं:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
बयानों के उपरोक्त सेट एक पृष्ठ पर सभी बटन निकालेंगे और उन्हें ऑब्जेक्टलिस्ट ऑब्जेक्ट में संग्रहीत करेंगे।
वर्णनात्मक प्रोग्रामिंग का उपयोग करने की बहुमुखी प्रतिभा यह है कि कोड की ये लाइनें किसी भी खुले पृष्ठ पर काम करेंगी। आप अपने ब्राउज़र में google.com खोल सकते हैं और यह गिनेंगे कि उस पृष्ठ पर कितने बटन हैं। यदि आप amazon.com या किसी अन्य साइट को खोलते हैं तो यह ठीक उसी तरह काम करेगा।
ऐसा इसलिए है क्योंकि हमारे पास पृष्ठ सेट के शीर्षक का नाम * है जो एक नियमित अभिव्यक्ति है।
तो आप देख सकते हैं, कैसे हम उन कोडों को लिख सकते हैं जिन्हें एक से अधिक मौकों में इस्तेमाल किया जा सकता है, न कि संपत्ति के मूल्यों को और हार्ड कोडिंग द्वारा रनटाइम पर ऑब्जेक्ट बनाना ।
हम अपने उदाहरण को थोड़ा और आगे ले जाएं। मान लीजिए कि मैं एक के बाद एक पेज पर सभी वेबबटन के नाम प्रिंट करने की कोशिश कर रहा हूं।
यदि किसी पृष्ठ पर 4 बटन हैं, तो आप उनमें से प्रत्येक को निम्न तरीके से एक्सेस कर सकते हैं:
Msgbox ObjectList (0) .GetRoProperty ('नाम') –यह पहला बटन का नाम प्रिंट करेगा।
Msgbox ऑब्जेक्टलिस्ट (1) .GetRoProperty ('नाम')
Msgbox ऑब्जेक्टलिस्ट (2) .GetRoProperty ('नाम')
Msgbox ऑब्जेक्टलिस्ट (3) .GetRoProperty ('नाम')
ध्यान दें कि:
- बच्चे की वस्तुओं का सूचकांक 0 से शुरू होता है
- चूंकि ऑब्जेक्ट रनटाइम पर अपने गुणों को प्राप्त करता है, हम उसी को पुनः प्राप्त करने के लिए GetRoProperty विधि का उपयोग करते हैं।
हम पृष्ठ में किसी भी संख्या में बटन के लिए 'लूप के लिए' का उपयोग करके और 'ब्लॉक के लिए' ब्लॉक के भीतर तब तक दोहराते हैं जब तक कि वह ऑब्जेक्ट काउंट के अंत तक न पहुंच जाए, उपरोक्त कोड को बदल सकते हैं।
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
'लूप के लिए' का उपयोग करना बेहतर है क्योंकि इस मामले में, आपको यह जानने की ज़रूरत नहीं है कि आपके विवरण ऑब्जेक्ट में कितनी वस्तुएँ हैं।
नोट करने के लिए कुछ बिंदु:
- आपको वर्णनात्मक प्रोग्रामिंग में मास्टर करने के लिए अभ्यास की आवश्यकता होगी। कोई फर्क नहीं पड़ता कि आप कितने उदाहरण देखते हैं और समझते हैं, आपको वास्तव में इसके साथ काम करने के लिए हाथों के अनुभव की आवश्यकता होगी।
- एक परीक्षक के रूप में, आपको यह जानने की उम्मीद नहीं है कि वस्तुओं को आपके ऑटो में कैसे कोडित किया गया है और वे किन मूल्यों पर सेट हैं। इसलिए गुणों को देखने के लिए सही गुणों का चयन करने के लिए समय-समय पर ObjectSpy का उपयोग करें।
- परीक्षण के परिणाम इंगित करेंगे कि प्रोग्रामिंग ऑब्जेक्ट या चाइल्डऑब्जेक्ट विधियों का उपयोग करके रन सत्र के दौरान परीक्षण ऑब्जेक्ट को गतिशील रूप से बनाया गया था।
QTP से सामान्य रूप से उपयोग किए जाने वाले बाहरी डेटा स्रोतों से कनेक्ट करना
ऐसे कई उदाहरण होंगे जब आप उन परीक्षणों को तैयार कर रहे होंगे जिन्हें आपको बाहरी DB या कुछ अन्य डेटा स्रोतों से कनेक्ट करना होगा। एक बार कनेक्ट होने के बाद, आपको इन ऐप्स से QTP और इसके विपरीत डेटा स्थानांतरित करना होगा।
यद्यपि यह बाहरी इंटरफेस के साथ काम करने के लिए एक संपूर्ण मार्गदर्शिका प्रदान करने के लिए इन लेखों के दायरे से परे है, हम कुछ उन पर ध्यान देंगे जो सबसे अधिक उपयोग किए जाते हैं।
डेटाबेस कनेक्शन QTP में
डेटाबेस से कनेक्ट करने के लिए हम आम तौर पर एक ADO कनेक्शन ऑब्जेक्ट का उपयोग करते हैं। ADO Microsoft की ActiveX डेटा ऑब्जेक्ट है।
निम्नलिखित चरणों का पालन किया जाना है:
# 1) एक DSN बनाएँ। कृपया डेटाबेस चेकपॉइंट ट्यूटोरियल को देखें कि यह कैसे किया जाता है या कंट्रोल पैनल से एक बनाया जाता है।
#दो) एक कनेक्शन ऑब्जेक्ट बनाएँ:
समुच्चय सेट करें = CreateObject ('ADODB.connection')
# 3) एक रिकॉर्डसेट ऑब्जेक्ट बनाएं। रिकॉर्डसेट ऑब्जेक्ट उस क्वेरी के परिणामों को रखता है जिसे हम चलाने जा रहे हैं।
सेट rs = CreateObject ('ADODB.RecordSet')
# 4) कनेक्शन ऑब्जेक्ट खोलें और क्वेरी चलाएँ:
con.Open 'DSN = testDB2; UID = स्वेटीसेला; pwd = परीक्षण @ 123'
rs.Open “abc से * सेलेक्ट करें”, कॉन
# 5) सभी क्वेरी परिणामों को अब 'rs' ऑब्जेक्ट का उपयोग करके एक्सेस किया जा सकता है।
# 6) उदाहरण के लिए, यदि आप पंक्तियों की गिनती लौटना चाहते हैं, तो आप उपयोग कर सकते हैं
rs.getrows
# 7) उदाहरण के लिए, तालिका में 2 पंक्तियाँ और 3 कॉलम हैं (ए, बी, सी) आप निम्नानुसार मूल्यों तक पहुंच सकते हैं:
Msgbox rs.fields (0) .A
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .सी
# 8) यदि आप बहुत सारे मानों को एक्सेस करना चाहते हैं तो आप लूप स्टेटमेंट का उपयोग कर सकते हैं।
# 9) रिकॉर्ड सेट ऑब्जेक्ट का उपयोग कर सकने वाले कुछ कार्य इस प्रकार हैं: rs.move, rs.movenext, rs.getrows, rs.close, rs.open, आदि।
खुला स्रोत आवश्यकताओं प्रबंधन उपकरण तुलना
आइए एक बार में सभी कोड देखें:
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
एमएस एक्सेल शीट्स से कनेक्ट करना
हम सभी जानते हैं कि जब हम एक एक्सेल एप्लिकेशन खोलते हैं, तो पूरी फाइल एक वर्कबुक होती है जिसमें कॉलम और पंक्तियों के साथ शीट होती है, जहां हम डेटा डालते हैं।
निम्नलिखित कोड और टिप्पणियां हैं जो आपको यह समझने में मदद करती हैं कि यह कैसे किया जाता है।
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
उपरोक्त कार्यों के अलावा, हमारे पास निम्नलिखित हैं जिनका उपयोग हम आपकी आवश्यकताओं के आधार पर कर सकते हैं।
- excelobj.activeworkbook.sheets.add - एक नई शीट जोड़ने के लिए
- excelobj.activeworkbook.sheets (i) .delete - सूचकांक I के साथ एक शीट को हटाने के लिए
- excelobj.activeworkbook.sheeets (i) .name = 'अपनी पसंद का नाम': सूचकांक के साथ एक शीट का नाम बदलने के लिए i।
- x = excelobj.activeworkbook.sheets.count - एक कार्यपुस्तिका में कितनी शीट हैं, इसकी गिनती प्राप्त करने के लिए
- उत्कृष्ट activeworkbook.saves 'कंप्लीटपैथविथेन नेम.नेम्स' - नए नाम के तहत कार्यपुस्तिका को सहेजने के लिए
यह न केवल इस लेख को खत्म करता है बल्कि हमारी QTP प्रशिक्षण श्रृंखला है। अगले लेख में, हम कुछ और महत्वपूर्ण बातों को शामिल करेंगे उत्तर के साथ QTP साक्षात्कार प्रश्न । कृपया हमें अपनी टिप्पणियों और सवालों के बारे में बताएं।
=> QTP प्रशिक्षण ट्यूटोरियल श्रृंखला के लिए यहां जाएं
सॉफ्टवेयर परीक्षण पर अधिक उपयोगी लेख और ट्यूटोरियल के लिए बने रहें! यदि आप हमारे मुफ़्त ईमेल न्यूज़लेटर की सदस्यता नहीं लेते हैं, तो कृपया इसे अभी कर लें यहां क्लिक करें ।
अनुशंसित पाठ
- QTP ट्यूटोरियल - 25+ माइक्रो फोकस क्विक टेस्ट प्रोफेशनल (QTP) प्रशिक्षण ट्यूटोरियल
- QTP (2 भाग) में परिमाणीकरण - QTP ट्यूटोरियल # 20
- QTP ट्यूटोरियल # 18 - डेटा प्रेरित और हाइब्रिड फ्रेमवर्क QTP उदाहरणों के साथ समझाया गया
- QTP में पैरामीटर उदाहरणों के साथ समझाया (भाग 1) - QTP ट्यूटोरियल # 19
- QTP ट्यूटोरियल # 6 - हमारे पहले टेस्ट के लिए QTP रिकॉर्ड और रन सेटिंग्स को समझना
- QTP ट्यूटोरियल # 24 - QTP टेस्ट में वर्चुअल ऑब्जेक्ट्स और रिकवरी परिदृश्यों का उपयोग करना
- MongoDB डेटाबेस ट्यूटोरियल बनाएँ
- डेटाबेस परीक्षण JMeter के साथ