comprehensive xpath tutorial xml path language
उदाहरण के लिए XML पथ भाषा (XPath) के बारे में सभी जानें। इस XPath ट्यूटोरियल में XPath, XPath ऑपरेटर्स, Axes और परीक्षण में उपयोग के प्रकार और प्रकार शामिल हैं:
XPath शब्द का अर्थ XML पाथ लैंग्वेज है। यह एक क्वेरी भाषा है जो XML दस्तावेज़ में विभिन्न नोड्स को चुनने के लिए नियोजित है।
चूंकि SQL का उपयोग विभिन्न डेटाबेस के लिए क्वेरी भाषा के रूप में किया जाता है ( उदाहरण के लिए, SQL को MySQL, Oracle, DB2, आदि जैसे डेटाबेस में इस्तेमाल किया जा सकता है), XPath का उपयोग विभिन्न भाषाओं और उपकरणों के लिए भी किया जा सकता है ( उदाहरण के लिए, XSLT, XQuery, XLink, XPointer, आदि और MarkLogic जैसे उपकरण, सेलेनियम जैसे सॉफ्टवेयर परीक्षण उपकरण आदि)
आप क्या सीखेंगे:
XPath - एक अवलोकन
Xpath मूल रूप से XML दस्तावेज़ों के माध्यम से नेविगेशन के लिए एक भाषा है और नेविगेशन पर चर्चा करते समय, इसका अर्थ है किसी भी दिशा में XML दस्तावेज़ में जाना, किसी भी तत्व या किसी भी विशेषता और टेक्स्ट नोड पर जाना। XPath वर्ल्ड वाइड वेब कंसोर्टियम (W3C) की एक अनुशंसित भाषा है।
जहाँ हम XPath का उपयोग कर सकते हैं?
XPath का उपयोग सॉफ्टवेयर विकास उद्योग और सॉफ्टवेयर परीक्षण उद्योग दोनों में किया जा सकता है।
सॉफ्टवेयर इंजीनियरिंग में परीक्षण का प्रकार
यदि आप सॉफ्टवेयर टेस्टिंग डोमेन में हैं तो आप सेलेनियम में स्वचालन स्क्रिप्ट विकसित करने के लिए XPath का उपयोग कर सकते हैं, या यदि आप विकास डोमेन में हैं तो लगभग सभी प्रोग्रामिंग भाषाओं में XPath का समर्थन है।
XSLT मुख्य रूप से XML सामग्री रूपांतरण डोमेन में उपयोग किया जाता है और रूपांतरण के लिए XPath का उपयोग करता है। XSLT XPath और XQuery और XPointer जैसी कुछ अन्य भाषाओं के साथ मिलकर काम करता है।
XPath नोड के प्रकार
नीचे सूचीबद्ध विभिन्न प्रकार के XPath नोड हैं।
# 1) तत्व नोड्स: ये नोड्स हैं जो सीधे रूट नोड के तहत आते हैं। एक तत्व नोड में इसमें विशेषताएँ हो सकती हैं। यह एक XML टैग का प्रतिनिधित्व करता है। जैसा कि नीचे दिए गए उदाहरण में दिया गया है: सॉफ्टवेयर परीक्षक, राज्य, देश तत्व नोड हैं।
# 2) नोड्स की विशेषता :यह तत्व नोड की संपत्ति / विशेषता को परिभाषित करता है। यह तत्व नोड के साथ-साथ रूट नोड के तहत हो सकता है। तत्व नोड्स इन नोड्स के जनक हैं। जैसा कि नीचे दिए गए उदाहरण में दिया गया है: 'नाम' तत्व नोड (सॉफ्टवेयर परीक्षक) की विशेषता नोड है। विशेषता नोड्स को निरूपित करने का शॉर्टकट '@' है।
# 3) पाठ नोड्स :तत्व नोड के बीच आने वाले सभी ग्रंथों को टेक्स्ट नोड के रूप में जाना जाता है, उदाहरण के लिए 'दिल्ली', 'भारत', 'चेन्नई' पाठ नोड्स हैं।
# 4) टिप्पणी टिप्पणी :यह कुछ ऐसा है जो एक परीक्षक या डेवलपर कोड को समझाने के लिए लिखता है जिसे प्रोग्रामिंग भाषाओं द्वारा संसाधित नहीं किया जाता है। टिप्पणियाँ (कुछ पाठ) इन उद्घाटन और समापन टैग के बीच आती हैं:
# 5) नाम स्थान :T ”; 0j89 //// / इनका उपयोग XML तत्व नामों के एक से अधिक सेट के बीच अस्पष्टता को दूर करने के लिए किया जाता है। उदाहरण के लिए, XSLT में डिफ़ॉल्ट नामस्थान का उपयोग किया जाता है (XSL :)।
# 6) प्रसंस्करण निर्देश :इनमें ऐसे निर्देश हैं जो प्रसंस्करण के लिए उपयोग किए जा सकते हैं। इन प्रसंस्करण निर्देशों की उपस्थिति दस्तावेज़ में कहीं भी हो सकती है। ये बीच में आते हैं।
# 7) रूट नोड :यह सबसे ऊपरी तत्व नोड को परिभाषित करता है जिसमें इसके अंदर सभी बाल तत्व होते हैं। रूट नोड में पैरेंट नोड नहीं है। नीचे दिए गए XML उदाहरण में रूट नोड 'SoftwareTestersList' है। रूट नोड का चयन करने के लिए, हम फॉरवर्ड स्लैश का उपयोग करते हैं यानी '/'।
कैसे फ़ाइलों को बदलने के लिए यूट्यूब वीडियो कन्वर्ट करने के लिए
हम उपर्युक्त शर्तों को समझाने के लिए एक बुनियादी XML कार्यक्रम लिखेंगे।
Delhi India chennai India
परमाणु मान : वे सभी नोड्स जिनमें या तो चाइल्ड नोड्स या पैरेंट नोड्स नहीं हैं, उन्हें परमाणु मान के रूप में जाना जाता है।
प्रसंग नोड : यह एक्सएमएल दस्तावेज़ में एक विशेष नोड है जिस पर भावों का मूल्यांकन किया जाता है। इसे वर्तमान नोड के रूप में भी माना जा सकता है और एक अवधि (।) के साथ संक्षिप्त किया जा सकता है।
प्रसंग आकार : यह प्रसंग नोड के जनक के बच्चों की संख्या है। उदाहरण के लिए, यदि प्रसंग नोड अपने माता-पिता के पांचवें बच्चों में से एक है तो प्रसंग आकार पांच है।
पूर्ण Xpath: यह XML डॉक्यूमेंट में एक्सपीथ एक्सप्रेशन है जो रूट नोड या ’/ 'के साथ शुरू होता है। उदाहरण के लिए, / SoftwareTestersList / softwareTester / @ name = ”T1 L
रिश्तेदार XPath: यदि XPath अभिव्यक्ति चयनित संदर्भ नोड के साथ शुरू होती है तो इसे सापेक्ष XPath माना जाता है। उदाहरण के लिए, यदि सॉफ्टवेयर परीक्षक वर्तमान में चयनित नोड है तो / @ नाम = 'T1' को सापेक्ष XPath माना जाता है।
एक्सपी में एक्सिस
- स्वयं की धुरी : प्रसंग नोड का चयन करें। XPath अभिव्यक्ति स्व :: * और। समतुल्य हैं। यह एक एकल अवधि () द्वारा संक्षिप्त है।
- बच्चे की धुरी : प्रसंग नोड के बच्चों का चयन करें। तत्वों, टिप्पणी, पाठ नोड्स, और प्रसंस्करण निर्देश को प्रसंग नोड का एक बच्चा माना जाता है। नेमस्पेस नोड और विशेषता नोड को कंटेंट नोड के बाल अक्ष के रूप में नहीं माना जाता है। उदाहरण के लिए, बच्चा :: सॉफ्टवेयर टेस्टर।
- जनक अक्ष : संदर्भ नोड के जनक का चयन करें (यदि संदर्भ नोड मूल नोड है, तो मूल अक्ष रिक्त नोड में परिणाम देगा।) यह अक्ष एक डबल अवधि (।) द्वारा संक्षिप्त है। भाव (पैरेंट :: स्टेट) और (../स्टेट) समतुल्य हैं। यदि प्रसंग नोड में इसके अभिभावक के रूप में तत्व नहीं है, तो इस XPath अभिव्यक्ति का परिणाम रिक्त नोड होगा।
- अक्ष को समर्पित करें : संदर्भ नोड की विशेषता का चयन करें। यह विशेषता अक्ष एट-साइन (@) द्वारा संक्षिप्त है। यदि संदर्भ नोड एक तत्व नोड नहीं है, तो इसका परिणाम रिक्त नोड होगा। अभिव्यक्ति (विशेषता :: नाम) और (@name) समतुल्य हैं।
- पूर्वज अक्ष : संदर्भ नोड के माता-पिता का चयन करें और यह माता-पिता के माता-पिता और इतने पर। इस अक्ष में रूट नोड होता है यदि संदर्भ नोड स्वयं रूट नोड नहीं है।
- पूर्वज-या-स्व: अपने माता-पिता, अपने माता-पिता आदि के साथ संदर्भ नोड का चयन करें और हमेशा रूट नोड का चयन करेंगे।
- वंशज अक्ष : संदर्भ नोड के सभी बच्चे, उनके बच्चों के बच्चे आदि का चयन करें। संदर्भ नोड के बच्चे तत्व, टिप्पणियां, प्रसंस्करण निर्देश और पाठ नोड हो सकते हैं। नामपद नोड और विशेषता नोड को वंशज अक्ष के तहत नहीं माना जाता है।
- उतर - या - स्व : संदर्भ नोड का चयन करें और संदर्भ नोड के सभी बच्चों और सभी बच्चों के सभी बच्चों के संदर्भ नोड और इतने पर। जैसा कि ऊपर के मामले में तत्व, टिप्पणी, प्रसंस्करण निर्देश, और पाठ नोड्स पर विचार किया जाता है और नाम और संदर्भ नोड्स को संदर्भ नोड के बच्चों के तहत नहीं माना जाता है।
- पूर्ववर्ती अक्ष : पूरे दस्तावेज़ में संदर्भ नोड से पहले आने वाले सभी नोड्स का चयन करें जिन्हें पूर्ववर्ती अक्ष माना जाता है। नामस्थान, पूर्वजों और विशेषता नोड को पूर्ववर्ती अक्ष के रूप में नहीं माना जाता है।
- पूर्ववर्ती-सिबलिंग अक्ष : संदर्भ नोड के सभी पूर्ववर्ती भाई-बहनों का चयन करें। सभी नोड्स जो संदर्भ नोड से पहले दिखाई देते हैं और XML दस्तावेज़ में संदर्भ नोड के समान माता-पिता भी होते हैं। यदि संदर्भ नोड एक नाम स्थान है या विशेषता है, तो पूर्ववर्ती-सिबलिंग रिक्त हो जाएगी।
- निम्नलिखित अक्ष : XML दस्तावेज़ में संदर्भ नोड के बाद आने वाले सभी नोड्स का चयन करें। इस अक्ष सूची में नाम स्थान, विशेषता और वंश को नहीं माना जाता है।
- अनुगामी अक्ष के बाद : संदर्भ नोड के सभी निम्नलिखित भाई-बहनों का चयन करें। सभी नोड्स जो संदर्भ नोड के बाद आते हैं और एक ही माता-पिता भी होते हैं, जो XML दस्तावेज़ में संदर्भ नोड के रूप में माना जाता है, को निम्न-सिबल अक्ष के रूप में माना जाता है। यदि संदर्भ नोड नामस्थान या विशेषता नोड है, तो यह रिक्त नोड-सेट में परिणाम देगा।
- नाम स्थान : संदर्भ नोड के नाम स्थान नोड का चयन करें। यदि संदर्भ नोड कोई तत्व नोड नहीं है, तो यह रिक्त होगा।
XPatath में डेटाटाइप्स
नीचे दिए गए XPath में विभिन्न डेटाटिप्स हैं।
- संख्या: XPath में नंबर एक फ्लोटिंग-पॉइंट नंबर का प्रतिनिधित्व करता है, और IEEE 754 फ़्लोटिंग-पॉइंट नंबर के रूप में लागू किया जाता है। XPath में Integer datatype विचार नहीं करता है।
- बूलियन: यह या तो सही या गलत का प्रतिनिधित्व करता है।
- स्ट्रिंग: यह शून्य या अधिक वर्णों का प्रतिनिधित्व करता है।
- नोड-सेट: यह शून्य या अधिक नोड्स के एक सेट का प्रतिनिधित्व करता है।
XPath में वाइल्डकार्ड
XPath में नीचे सूचीबद्ध वाइल्डकार्ड हैं।
- एक तारांकन चिह्न (*) : यह संदर्भ नोड के सभी तत्व नोड्स का चयन करेगा। यह पाठ नोड्स, टिप्पणियों, प्रसंस्करण निर्देशों और विशेषताओं नोड का चयन करेगा।
- तारांकन चिह्न के साथ साइन (@ *) : यह संदर्भ नोड के सभी विशेषता नोड्स का चयन करेगा।
- नोड () : यह संदर्भ नोड के सभी नोड्स का चयन करेगा। ये नाम, पाठ, गुण, तत्व, टिप्पणियां और प्रसंस्करण निर्देश का चयन करते हैं।
XPath संचालक
ध्यान दें: नीचे दी गई तालिका में, ई किसी भी XPath अभिव्यक्ति के लिए खड़ा है।
ऑपरेटर्स | विवरण | उदाहरण |
---|---|---|
e1! = e2 | बराबर नहीं | @name! = 'T1' |
e1 + e2 | अतिरिक्त (यदि e1 और e2 संख्याएँ हैं) | ५ + २ |
e1 - ई 2 | घटाव (यदि e1 और e2 संख्या हैं) | 10 - 4 |
e1 * e2 | गुणन (यदि e1 और e2 संख्याएँ हैं) | 3. 4 |
e1 div e2 | प्रभाग (यदि e1 और e2 संख्या हैं और परिणाम फ्लोटिंग-पॉइंट मान में होगा) | 4 डिव 2 |
ई 1 | ई २ | दो नोड्स का मिलन जो e1 और मैच e2 से मेल खाता है। | // राज्य | // देश |
e1 = e2 | बराबर | @name = 'T1' |
ई 1E1 का परीक्षण e2 से कम है (साइन-इन से कम)<’ must be excaped by ‘<’) | परीक्षण = ”५<9” will result true(). | |
e1> ई 2 | E1 का परीक्षण e2 से अधिक है (‘> से अधिक होना चाहिए greater> साइन अप करना चाहिए) | परीक्षण = '5> 9' गलत परिणाम देगा ()। |
ई 1<= e2 | E1 का परीक्षण e2 से कम या बराबर है। | परीक्षण = ”५<= 9” will result false(). |
e1> = e2 | E1 का परीक्षण e2 से अधिक या उसके बराबर है। | परीक्षण = '5> = 9' झूठी () परिणाम देगा। |
e1 या e2 | मूल्यांकन किया जाए तो या तो e1 या e2 सत्य हैं। | |
ई 1 और ई 2 | मूल्यांकन किया जाए तो e1 और e2 दोनों सत्य हैं। | |
e1 mod e2 | E2 द्वारा विभाजित ई 1 के शेष फ्लोटिंग-पॉइंट रिटर्न। | 7 मॉड 2 |
XPath में समर्पित है
एक्सपीथ अभिव्यक्ति द्वारा चुने गए नोड्स को प्रतिबंधित करने वाले फिल्टर के रूप में प्रेडिकेट्स का उपयोग किया जाता है। प्रत्येक विधेय को बूलियन मान में परिवर्तित किया जाता है या तो सही या गलत, अगर यह दिए गए XPath के लिए सही है तो उस नोड का चयन हो जाएगा, यदि यह गलत है तो नोड का चयन नहीं किया जाएगा।
विधेय हमेशा चौकोर कोष्ठक के अंदर आते हैं जैसे []।
उदाहरण के लिए, softwareTester [@ name = ”T2 ester]:
यह उस तत्व का चयन करेगा जिसे टी 2 के मूल्य के साथ एक विशेषता के रूप में नामित किया गया है।
सॉफ्टवेयर टेस्टिंग में XPath के अनुप्रयोग
ऑटोमेशन टेस्टिंग में XPath बहुत उपयोगी है। यहां तक कि अगर आप मैन्युअल परीक्षण कर रहे हैं, तो XPaths का ज्ञान आपको यह समझने में मदद करने के लिए बहुत उपयोगी होगा कि एप्लिकेशन के बैकएंड में क्या हो रहा है।
विंडोज़ 10 के लिए सबसे अच्छा स्निपिंग टूल
यदि आप स्वचालन परीक्षण में हैं, तो आपने Appium स्टूडियो के बारे में सुना होगा जो मोबाइल ऐप्स परीक्षण के लिए सबसे अच्छा स्वचालन उपकरणों में से एक है। इस उपकरण में, एक बहुत शक्तिशाली विशेषता है जिसे कहा जाता है XPath सुविधा जो आपको स्वचालन स्क्रिप्ट में एक विशिष्ट पृष्ठ के तत्वों की पहचान करने में सक्षम बनाता है।
हम यहां एक और उदाहरण उद्धृत करना चाहते हैं उस टूल से जिसे लगभग हर सॉफ्टवेयर टेस्टर जानता है यानी सेलेनियम। सेलेनियम आईडीई और सेलेनियम वेबड्राइवर में XPath का ज्ञान परीक्षकों के लिए एक कौशल होना चाहिए।
XPath एक तत्व लोकेटर के रूप में कार्य करता है। जब भी आपको किसी पृष्ठ पर एक विशिष्ट तत्व का पता लगाने और उस पर कुछ कार्रवाई करने की आवश्यकता होती है, तो आपको सेलेनियम स्क्रिप्ट के लक्ष्य कॉलम में इसके XPath का उल्लेख करना होगा।
जैसा कि आप उपरोक्त चित्र में देख सकते हैं, यदि आप किसी वेब पेज के किसी तत्व का चयन करते हैं और उसका निरीक्षण करते हैं, तो आपको 'कॉपी XPath' का विकल्प मिलेगा। चूंकि क्रोम वेब ब्राउज़र के माध्यम से Google खोज वेब तत्व से एक उदाहरण लिया गया था और जब XPath को कॉपी किया गया था जैसा कि ऊपर की छवि में दिखाया गया है, तो हमें नीचे मूल्य मिला:
//*[@id='tsf']/div[2]/div[3]/center/input[1]
अब, अगर मान लें कि हमें इस लिंक पर एक क्लिक कार्रवाई करने की आवश्यकता है तो हमें सेलेनियम स्क्रिप्ट में एक क्लिक कमांड प्रदान करना होगा और क्लिक कमांड का लक्ष्य उपरोक्त XPath होगा। XPath का उपयोग केवल उपरोक्त दो टूल तक सीमित नहीं है। सॉफ्टवेयर परीक्षण के बहुत सारे क्षेत्र और उपकरण हैं जिसमें XPath का उपयोग किया जाता है।
हम आशा करते हैं कि आपको सॉफ्टवेयर परीक्षण के क्षेत्र में XPath के महत्व के बारे में एक उचित विचार मिला।
निष्कर्ष
इस ट्यूटोरियल में, हमने XPath, XPath एक्सप्रेशन का उपयोग कैसे करें, विभिन्न भाषाओं और टूल्स में XPath एक्सप्रेशन के लिए सपोर्ट के बारे में जाना। हमने सीखा कि XPath का उपयोग सॉफ्टवेयर डेवलपमेंट और सॉफ्टवेयर टेस्टिंग के किसी भी डोमेन में किया जा सकता है।
हमने XPath के विभिन्न डेटाटिप्स भी सीखे, उनके उपयोग के साथ XPath में उपयोग किए जाने वाले विभिन्न एक्सिस, XPath में उपयोग किए गए नोड प्रकार, विभिन्न ऑपरेटर, और XPath में विधेय, सापेक्ष और निरपेक्ष XPath के बीच का अंतर, XPath में उपयोग किए गए विभिन्न वाइल्डकार्ड आदि।
पढ़ने का आनंद लो!!
अनुशंसित पाठ
- XML के लिए डेटाबेस परीक्षण के लिए एक साधारण दृष्टिकोण
- XML टेक्नोलॉजीज (श्वेत पत्र) का उपयोग करके डेटा परीक्षण का एक उत्कृष्ट तरीका
- एक XML कोड उदाहरण के साथ SOAtest में अभिकथन
- QTP ट्यूटोरियल # 16 - एक्सएमएल, एक्सेसिबिलिटी और डेटाबेस चेकपॉइंट डालने के लिए चरण
- शीर्ष 45 XML साक्षात्कार प्रश्न और उत्तर 2021 के लिए [नवीनतम]
- SQL बनाम MySQL बनाम SQL सर्वर के बीच अंतर (उदाहरण के साथ)
- TestNG उदाहरण: TestNG.xml फ़ाइल कैसे बनाएँ और उसका उपयोग करें
- सिंटैक्स और उदाहरणों के साथ अंतिम XPath लेखन धोखा शीट ट्यूटोरियल