understanding assertions soapui soapui tutorial 5
हम जैसे सोपुई की बुनियादी बातों पर काम कर रहे हैं WSDL को जोड़ने, अनुरोध भेजने और प्रतिक्रियाएं प्राप्त करने के लिए परियोजनाएं बनाना और अब तक उनके साथ जाने के लिए परीक्षण संपत्ति उत्पन्न करना।
इस 5 वें SoapUI ट्यूटोरियल में, हम SoapUI के सभी सिद्धांतों के बारे में जानेंगे। हम आपको दृढ़ता से सलाह देते हैं इस पृष्ठ पर पूर्ण साबुन प्रशिक्षण श्रृंखला का पालन करें इन सभी मुख्य विशेषताओं को सीखने के लिए।
आप क्या सीखेंगे:
परिचय का परिचय
किसी भी परीक्षण के साथ, हमें यह तुलना करनी होगी कि हम सिस्टम को क्या करना चाहते हैं और यह वास्तव में क्या कर रहे हैं, एक निश्चित मान्यता या दावे पर पहुंचने के लिए, जिसे यह वेब सेवाओं के संदर्भ में कहा जाता है। परीक्षकों के रूप में, इससे कोई फर्क नहीं पड़ता कि हमने 1000 या मिलियन परीक्षण चरणों को निष्पादित किया है, लेकिन हमारे लिए, परिणाम की तुलना एक परीक्षण के परिणाम को निर्धारित करती है।
इसलिए, हम इस पूरे लेख को यह समझने में बिताएंगे कि हम सोपुई के साथ ऐसा कैसे कर सकते हैं, हालांकि वेब सेवाओं को मैन्युअल रूप से मुखर किया जा सकता है। इसके अलावा, जब बड़े डेटा के साथ कई प्रतिक्रियाएं और प्रतिक्रियाएं होती हैं, तो एक मैनुअल अभिकथन समय लेने वाला होता है। इन कमियों को दूर करने के लिए सोपुई दावे उत्कृष्ट हैं।
SOAPUI दावे अपेक्षित परिणाम के प्रतिक्रिया संदेश के सभी हिस्सों / भागों की तुलना करें। हम SoapUI द्वारा प्रदान किए गए विभिन्न प्रकार के दावे को किसी भी परीक्षण चरण में जोड़ सकते हैं। प्रत्येक प्रकार की अभिक्रिया प्रतिक्रिया पर विशिष्ट मान्यताओं को लक्षित करती है जैसे कि मिलान पाठ, XPATH की तुलना करना या हम अपनी आवश्यकता के आधार पर प्रश्न भी लिख सकते हैं।
जब परीक्षण चरणों को निष्पादित किया जाता है, तो संबंधित परीक्षण संबंधित परीक्षण चरणों के लिए प्रतिक्रिया प्राप्त करते हैं। यदि कोई प्रतिक्रिया विफल होती है तो संबंधित दावे पर कार्रवाई की जाएगी और संबंधित परीक्षण चरण को असफल के रूप में चिह्नित किया जाएगा। इस अधिसूचना को परीक्षण के मामले में देखा जा सकता है। इसके अलावा, हम परीक्षण निष्पादन लॉग में असफल परीक्षण कदम पा सकते हैं। नमूना परीक्षण चरण अभिक्रिया स्क्रीन नीचे दी गई है:
उपरोक्त छवि में, कुछ परीक्षण चरणों में विफलता हुई है और उनमें से कुछ ने PASSED किया है। कारण है मुखरता।
जैसा कि हमने पहले चर्चा की, यदि मुखर स्थिति अपेक्षित परिणामों के साथ पूरी नहीं हुई है, तो परिणाम विफल है।
सोपुई में विभिन्न प्रकार के अभिकथन के साथ कार्य करना
आइए अब देखते हैं कि विभिन्न प्रकार के अभिकथनों के साथ कैसे काम करें:
- इसमें सम्मिलित और सम्मिलित नहीं है
- XPath मैच और
- XQuery मैच जोर।
सबसे पहले, हमें एक वैध WSDL स्कीमा स्थान की आवश्यकता है।
नीचे दिए गए चरणों का पालन करें:
चरण 1। एक नया SOAP प्रोजेक्ट बनाएं CTRL + N दबाकर चरणों का पालन करें। प्रोजेक्ट बनाने के बाद, SOAPUI इंटरफेस और इसी अनुरोधों की सूची तैयार करता है।
चरण 2। इस परियोजना के लिए परीक्षण सूट को जोड़ने के लिए इन चरणों का पालन करें:
- इंटरफ़ेस नाम पर राइट-क्लिक करें MedicareSupplierSoap
- क्लिक टेस्टसुइट जनरेट करें संदर्भ मेनू से विकल्प
- नीचे आने वाली विंडो पर ओके पर क्लिक करें:
- अगले पॉपअप में, अपना वांछित परीक्षण सूट नाम दर्ज करने और ओके पर क्लिक करने की आवश्यकता है
- SOAPUI PRO नाविक पैनल में अनुरोधों के साथ परीक्षण सूट उत्पन्न करेगा।
- परीक्षण सूट के तहत, आपको SOAP अनुरोध चरण के साथ कुछ परीक्षण चरण दिखाई देंगे।
चरण 3। इस परीक्षण सूट को निष्पादित करने के लिए, अनुरोध चरण पर डबल-क्लिक करें और संबंधित स्थान में इनपुट मान निर्दिष्ट करें। उदाहरण के लिए, खोलें GetSupplierByCity अनुरोध करें और दर्ज करें न्यूयॉर्क शहर के टैग के बीच।
- RUN आइकन पर क्लिक करके इस अनुरोध को शुरू करें - यह प्रतिक्रिया प्राप्त करेगा।
- अब आइए जोड़ते हैं उसके लिए, पर क्लिक करें इस प्रकार के दावे लॉग टैब के शीर्ष पर मौजूद टैब।
- राइट-क्लिक करने पर, एक पॉपअप मेनू नीचे के रूप में कुछ बुनियादी जोर से संबंधित विकल्पों के साथ दिखाई देगा:
(१) समास सम्मिलित है
Add Assertion विकल्प पर क्लिक करें या टूलबार से इसे क्लिक करें - अभिकथन जोड़ें विंडो विभिन्न प्रकार के अभिकथन के साथ स्क्रीन पर दिखाई देती है।
1. क्लिक करें संपत्ति की सामग्री सूची से श्रेणी - जुड़े दावे प्रकार और उनके विवरण प्रदर्शित किए जाते हैं
2. क्लिक करें शामिल दावे और जोड़ें बटन पर क्लिक करें
3. यह अभिकथन विन्यास विंडो है। यहां स्वयं हमें प्रतिक्रिया के आधार पर अपेक्षित स्थिति निर्दिष्ट करनी होगी।
उदाहरण के लिए हैमुझे प्रवेश करने दो न्यूयॉर्क इस पाठ क्षेत्र में पाठ। तुलना में मामले को नजरअंदाज करें चेकबॉक्स अनदेखी करेगा भले ही अपेक्षित मूल्य ऊपरी मामले या निचले मामले में हो।
4. अब परीक्षण सूट को निष्पादित करें और परिणामों को सत्यापित करें। जैसा कि आपने परीक्षण सूट खिड़की में देखा है, हरा सफल निष्पादन को इंगित करता है और लाल विफलता को दर्शाता है।
# 2) मुखरता नहीं है
हम नकारात्मक परिदृश्यों में अनुरोधों को मान्य करने के लिए 'शामिल नहीं' दावे का उपयोग कर सकते हैं। हम प्रयोग कर सकते हैं GetSupplierByZipCode यह जानने के लिए अनुरोध करें।
उस पर डबल-क्लिक करके अनुरोध टैब खोलें। इनपुट अनुरोध में, उपयुक्त स्थान में, जैसे कि अमान्य ज़िप कोड दर्ज करें 10029 । अब इस अनुरोध को चलाएं। प्रतिक्रिया डेटा की जांच करें जिसमें दिए गए ज़िप कोड के लिए आपूर्तिकर्ता का विवरण है - नीचे दी गई छवि पर एक नज़र डालें:
(बढ़े हुए दृश्य के लिए छवि पर क्लिक करें)
'शामिल नहीं' जोर देते हुए, इसे हरे रंग में हाइलाइट किया जाता है क्योंकि इसे सफलतापूर्वक निष्पादित किया जाता है।
कॉन्फ़िगरेशन विंडो में, हमने नीचे के रूप में सकारात्मक अपेक्षित मान के साथ कॉन्फ़िगर किया है:
यह तब तक सही है जब अपेक्षित सशर्त मान नहीं मिला है और प्रतिसाद संदेश में अपेक्षित मान मिलने पर गलत हो जाता है।
इसी तरह, हम स्थिति को बदल सकते हैं और अनुरोध को एक बार फिर से चला सकते हैं। यह तदनुसार परिणाम उत्पन्न करता है।
# 3) XPath मैच अभिकथन
XPath मैच अभिकथन थोड़ा अलग है कि यह वास्तविक प्रतिक्रिया डेटा का उपयोग करके प्रतिक्रिया को मुखर करेगा।
उदाहरण के लिए , अगर हमारे पास एक लॉगिन प्रमाणीकरण वेब सेवा है जो उपयोगकर्ता क्रेडेंशियल्स को प्रमाणित करेगी और क्लाइंट को कुछ बूलियन प्रकार के डेटा के साथ पावती भेज देगी जो XML के रूप में TRUE या FALSE हो सकती है।
जैसा कि आप जानते हैं कि XML दस्तावेज़ टैग द्वारा निर्मित होते हैं। इसलिए जब कॉन्फ़िगरेशन में अपेक्षित मूल्य निर्दिष्ट करते हैं, तो यह XML के रूप में होना चाहिए।
मैनुअल परीक्षण के मामले कैसे लिखें
ऐसा करने की कोशिश करते हैं:
के लिए एक और जोर जोड़ें GetSupplierByCity निवेदन। जोड़ें विंडो में, क्लिक करें संपत्ति की सामग्री श्रेणी और फिर क्लिक करें XPath मैच जोर
नीचे विंडो प्रदर्शित की गई है:
शीर्ष भाग घोषणा भाग है और निचला भाग अपेक्षित परिणाम वाला भाग है।
जब हम पर क्लिक करते हैं प्रचार विकल्प हमें नीचे की तरह कुछ ऑटो-जनरेटेड डिक्लेरेशन स्क्रिप्ट्स मिलेंगे:
घोषित नामस्थान साबुन = 'http: //schemas.xmlsoap.org/soap/envelope/';
घोषित नामस्थान ns1 = 'http: //www.webservicex.net/';
उपरोक्त लिपियों में, पहली पंक्ति उस प्रतिक्रिया को दर्शाती है जो XML डेटा और संलग्न SOAP टैग होनी चाहिए। अगली पंक्ति में, पूरी प्रतिक्रिया को असाइन या कॉपी किया जाएगा Ns1 भी निष्पादन के दौरान नाम स्थान चर। यदि हम संपूर्ण प्रतिक्रिया से विशेष डेटा को फ़िल्टर करना चाहते हैं, तो हमें निम्नलिखित स्क्रिप्ट को जोड़ना होगा।
// n1 1: सप्लायरडैट (1)
जैसा कि आप जानते हैं, यदि आप निष्पादित करते हैं GetSupplierByCity अनुरोध, यह उस प्रतिक्रिया का उत्पादन करेगा जिसमें आपूर्तिकर्ता के व्यक्तिगत डेटा की सूची शामिल है जो इससे संबंधित है न्यूयॉर्क शहर ।
यहां, हमने उपयोग किया है XPath मैच थोक प्रतिक्रिया से विशिष्ट आपूर्तिकर्ता के व्यक्तिगत विवरण निकालने के लिए अभिव्यक्ति। उस उद्देश्य के लिए, हमने एक का उपयोग किया है Ns1 भी परिवर्तनशील। अब on पर क्लिक करें करंट से सेलेक्ट करें बटन।
तब SOAPUI निम्नलिखित परिणाम उत्पन्न करता है:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
कृपया इस स्क्रीनशॉट को देखें:
यहां प्रतिक्रिया डेटा में, आप केवल एक आपूर्तिकर्ता व्यक्तिगत डेटा देख सकते हैं। कोण कोष्ठक के अंदर मौजूद संख्या के आधार पर, आउटपुट उत्पन्न होगा।
अब तक, यह उस प्रतिक्रिया के हिस्से को चुनने के बारे में है जो आवश्यक है, हम कैसे उपयोग कर सकते हैं / कर सकते हैं XPath मैच जोर
आइये जाने: जब आप प्रतिक्रिया के साथ ठीक हों, तो एक बार सेव बटन पर क्लिक करें।
प्रारंभ में, यदि आपने XPath मैच के दावे को बिना किसी परिवर्तन के कॉन्फ़िगर करने के बाद इस सेवा को निष्पादित किया होगा, तो परिणाम एक सफल प्रतिक्रिया होगी, स्थिति हरे रंग में हाइलाइट की गई।
लेकिन इनपुट पैरामीटर को इनपुट रिक्वेस्ट में एक अमान्य शहर - 'XYZ या ABC' - कुछ के लिए बदलें। अनुरोध चलाएँ और परिणामों की जाँच करें और साथ ही दावे की स्थिति। हम दावे के लिए विफलता प्रतिक्रिया और लाल स्थिति संकेत प्राप्त करेंगे। क्योंकि हमने पहले ही निर्दिष्ट कर दिया था कि विशेष आपूर्तिकर्ता डेटा अपेक्षित परिणाम कॉन्फ़िगरेशन में सेवा प्रतिक्रिया में मौजूद होना चाहिए और जब शहर का नाम अमान्य है, तो वह आपूर्तिकर्ता स्पष्ट रूप से मौजूद नहीं है।
इस तरह हम XPath मैच एक्सप्रेशन के उपयोग से XML प्रतिक्रिया को मुखर कर सकते हैं। सहमत हैं कि यह शुरू करने के लिए काफी सरल है लेकिन यदि आप विभिन्न सेवा प्रतिक्रियाओं के साथ प्रयास करते हैं, तो आपको बहुत बेहतर विचार मिलेगा।
हम XPath मिलान अभिव्यक्ति में कुल कार्यों का भी उपयोग कर सकते हैं। वे सम, मिन, मैक्स, गणना और औसत हैं।
उदाहरण के लिए , अगर हम अपेक्षित परिणामों में आपूर्तिकर्ताओं की कुल संख्या जानना चाहते हैं, तो निम्न स्क्रिप्ट लिखें।
गिनती (// ns1: आपूर्तिकर्ता दाता) और यह लौट आता है 536 है नतीजतन। याद रखें कि सभी कुल कार्य लोअरकेस में होने चाहिए।
# 4) XQuery मैच अभिकथन
यह XPath मैच के दावे से थोड़ा मिलता-जुलता है। जैसा कि हमने XPath मैच अभिकथन कॉन्फ़िगरेशन में देखा है, दो खंड होंगे - घोषणा और अपेक्षित परिणाम।
- अनुरोध के लिए XQuery मैच अभिकथन जोड़ें
- कॉन्फ़िगरेशन विंडो में, क्लिक करें घोषित बटन और निम्नलिखित स्क्रिप्ट लिखें
- अब क्लिक करें करंट से सेलेक्ट करें बटन
- SOAPUI स्क्रिप्ट के लिए प्रतिक्रिया उत्पन्न करता है
XQuery अभिव्यक्ति भी XPath मैच अभिव्यक्ति का समर्थन करती है, लेकिन इसकी अपनी स्क्रिप्टिंग सिंटैक्स होती है जिसे XPath मिलान के दावे में उपयोग नहीं किया जा सकता है।
उदाहरण के लिए :
हम XQuery अभिव्यक्ति का उपयोग करके सभी आपूर्तिकर्ता डेटा प्रतिक्रिया लाने के लिए एक उदाहरण देखेंगे। बेहतर समझने के लिए इस नमूना स्क्रीनशॉट को देखें।
वास्तविक स्क्रिप्ट:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
XQuery अभिव्यक्ति में उपयोग करने के लिए अधिक अंतर्निहित कार्य उपलब्ध हैं। वे जहाँ, द्वारा, के लिए, वापसी का आदेश और इसी तरह।
निष्कर्ष
वैसे, आपके लिए सबसे अधिक उपयोग किए जाने वाले दावे हैं।
यहाँ जोर देने की बात यह है कि: वेब सेवाओं के अपेक्षित परिणाम की सटीक भविष्यवाणी करने के लिए दावे सबसे महत्वपूर्ण हैं। यही कारण है कि यह कुंजी में से एक है SOAPUI PRO में सुविधाएँ ।
अगला ट्यूटोरियल : अगले ट्यूटोरियल में, हम स्क्रिप्टिंग बेसिक्स और अधिक…
कृपया जुड़े रहें। हमेशा की तरह, आपकी टिप्पणियों, प्रश्नों और सुझावों का स्वागत है।
अनुशंसित पाठ
- SoapUI Pro में डेटा चालित परीक्षण कैसे करें - SoapUI Tutorial # 14
- 15+ साबुन ट्यूटोरियल: सर्वश्रेष्ठ वेब सेवा एपीआई परीक्षण उपकरण
- शुरुआती के लिए गहराई से ग्रहण ट्यूटोरियल
- SoapUI Groovy Script में गुणों का उपयोग कैसे करें - SoapUI Tutorial # 7
- SoapUI और SoapUI Pro की 7 महत्वपूर्ण विशेषताएं - ट्यूटोरियल 2
- SoapUI गुण के साथ कार्य करना - SoapUI Tutorial # 8
- प्रो ऑडियंस के लिए सोपुई प्रो की 4 महत्वपूर्ण विशेषताएं - सोपुई ट्यूटोरियल # 12
- चरण SoapUI डाउनलोड और स्थापना प्रक्रिया द्वारा चरण - SoapUI ट्यूटोरियल # 3