सोपुई - त्वरित गाइड
SOAP सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल के लिए संक्षिप्त नाम है। इसे वर्ल्ड वाइड वेब कंसोर्टियम (W3C) द्वारा परिभाषित किया गया हैhttps://www.w3.org/TR/2000/NOTE-SOAP-20000508 निम्नानुसार है -
SOAP एक विकेन्द्रीकृत, वितरित वातावरण में सूचनाओं के आदान-प्रदान के लिए एक हल्का प्रोटोकॉल है। यह एक XML आधारित प्रोटोकॉल है जिसमें तीन भाग होते हैं: एक लिफाफा जो यह वर्णन करने के लिए एक रूपरेखा को परिभाषित करता है कि संदेश में क्या है और इसे कैसे संसाधित किया जाए; अनुप्रयोग-परिभाषित डेटा प्रकारों के उदाहरणों को व्यक्त करने के लिए एन्कोडिंग नियमों का एक सेट; और दूरस्थ प्रक्रिया कॉल और प्रतिक्रियाओं का प्रतिनिधित्व करने के लिए एक सम्मेलन।
SOAP - महत्वपूर्ण विशेषताएं
SOAP की कुछ महत्वपूर्ण विशेषताएं निम्नलिखित हैं।
यह एक संचार प्रोटोकॉल है जिसे इंटरनेट के माध्यम से संचार करने के लिए डिज़ाइन किया गया है।
यह XML मैसेजिंग के लिए HTTP का विस्तार कर सकता है।
यह वेब सेवाओं के लिए डेटा परिवहन प्रदान करता है।
यह पूर्ण दस्तावेजों का आदान-प्रदान कर सकता है या दूरस्थ प्रक्रिया को कॉल कर सकता है।
इसका उपयोग किसी संदेश को प्रसारित करने के लिए किया जा सकता है।
यह मंच और भाषा दोनों स्वतंत्र है।
यह यह परिभाषित करने का XML तरीका है कि क्या जानकारी भेजी जाती है और कैसे।
यह क्लाइंट एप्लिकेशन को दूरस्थ सेवाओं से आसानी से कनेक्ट करने और दूरस्थ तरीकों को लागू करने में सक्षम बनाता है।
यद्यपि SOAP का उपयोग विभिन्न संदेश प्रणालियों में किया जा सकता है और विभिन्न प्रकार के परिवहन प्रोटोकॉल के माध्यम से वितरित किया जा सकता है, SOAP का प्रारंभिक ध्यान दूरस्थ प्रक्रिया कॉल HTTP के माध्यम से ले जाया जाता है। अन्य ढांचे जैसे कि कोर्बा, डीसीओएम और जावा आरएमआई, एसओएपी के समान कार्यक्षमता प्रदान करते हैं, लेकिन एसओएपी संदेश पूरी तरह से एक्सएमएल में लिखे जाते हैं और इसलिए विशिष्ट मंच- और भाषा-स्वतंत्र होते हैं।
SOAP संदेश एक साधारण XML दस्तावेज़ है जिसमें निम्नलिखित तत्व हैं -
Envelope- संदेश की शुरुआत और अंत को परिभाषित करता है। यह एक अनिवार्य तत्व है।
Header- संदेश को संसाधित करने में उपयोग किए गए संदेश की किसी भी वैकल्पिक विशेषताओं को शामिल करता है, या तो एक मध्यस्थ बिंदु पर या अंतिम छोर पर। यह एक वैकल्पिक तत्व है।
Body- इसमें भेजे जा रहे संदेश में XML डेटा शामिल है। यह एक अनिवार्य तत्व है।
Fault - एक वैकल्पिक दोष तत्व जो संदेशों को संसाधित करते समय होने वाली त्रुटियों के बारे में जानकारी प्रदान करता है।
इन सभी तत्वों को SOAP लिफाफे के लिए डिफ़ॉल्ट नाम स्थान में घोषित किया गया है -
https://www.w3.org/2001/12/soap-envelope
SOAP एन्कोडिंग और डेटा प्रकारों के लिए डिफ़ॉल्ट नामस्थान है -
https://www.w3.org/2001/12/soap-encoding
Note- ये सभी विनिर्देश परिवर्तन के अधीन हैं। इस प्रकार, W3 वेबसाइट पर उपलब्ध नवीनतम विनिर्देशों के साथ खुद को अपडेट करते रहें।
SOAP - संदेश संरचना
निम्नलिखित ब्लॉक एक SOAP संदेश की सामान्य संरचना को दर्शाता है -
<?xml version = "1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle = "http://www.w3.org/2001/12/soap-encoding">
<SOAP-ENV:Header>
...
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
...
<SOAP-ENV:Fault>
...
...
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP_ENV:Envelope>
REST प्रतिनिधि राज्य स्थानांतरण के लिए संक्षिप्त नाम है। इसे सॉफ्टवेयर्स को डिजाइन करने के वास्तुशिल्प शैली के रूप में परिभाषित किया जा सकता है। REST एक विनिर्देश या W3C मानक नहीं है। इसलिए, Restful Services के साथ काम करना आसान है। इसके लिए किसी मिडिलवेयर विनिर्देश ढांचे की आवश्यकता नहीं है।
बाकी - महत्वपूर्ण विशेषताएं
REST की कुछ महत्वपूर्ण विशेषताएं निम्नलिखित हैं।
यह स्टेटलेस, क्लाइंट-सर्वर, कैशेबल कम्युनिकेशन प्रोटोकॉल पर निर्भर करता है - लगभग सभी मामलों में, HTTP का उपयोग किया जाता है।
यह SOAP-WSDL की तरह WebService और RPC (दूरस्थ प्रक्रिया कॉल) का हल्का-भारित विकल्प है।
यह यूनिक आईडी या यूआरआई में हर चीज का प्रतिनिधित्व करता है।
यह मानक HTTP विधियों, जैसे GET, POST, PUT, DELETE का उपयोग करता है।
यह स्रोतों को आपस में जोड़ता है।
अन्य संसाधनों में कई प्रतिनिधित्व हो सकते हैं।
किसी भी नामित जानकारी को एक संसाधन माना जाता है। उदाहरण के लिए: एक छवि, एक व्यक्ति, एक दस्तावेज़, सभी को संसाधन का एक उदाहरण माना जा सकता है और एक अद्वितीय आईडी या एक यूआरआई के रूप में प्रतिनिधित्व किया जा सकता है।
वर्ल्ड वाइड वेब ही, HTTP पर आधारित, REST आधारित वास्तुकला के रूप में देखा जा सकता है।
अन्य सेवाएं प्लेटफ़ॉर्म और भाषा स्वतंत्र हैं। चूंकि यह HTTP मानकों पर आधारित है, इसलिए यह फायरवॉल की उपस्थिति में आसानी से काम कर सकता है। WebServices की तरह, REST किसी भी इनबिल्ट सुरक्षा, सत्र प्रबंधन, QoS गारंटी की पेशकश नहीं करता है, लेकिन इन्हें HTTP के शीर्ष पर बनाकर जोड़ा जा सकता है। एन्क्रिप्शन के लिए, REST का उपयोग HTTPS के शीर्ष पर किया जा सकता है।
SoapUI एक उपकरण है जिसका उपयोग कार्यात्मक और गैर-कार्यात्मक परीक्षण दोनों के लिए किया जा सकता है। यह वेब सेवाओं तक सीमित नहीं है, हालांकि यह वेब सेवाओं के परीक्षण में उपयोग किया जाने वाला डी-फैक्टो उपकरण है।
साबुन - महत्वपूर्ण विशेषताएं
SoapUI की कुछ महत्वपूर्ण विशेषताएं निम्नलिखित हैं।
यह ग्राहक और सेवा दोनों की भूमिका निभाने में सक्षम है।
यह उपयोगकर्ताओं को एकल वातावरण का उपयोग करके जल्दी और कुशल तरीके से कार्यात्मक और गैर-कार्यात्मक परीक्षण बनाने में सक्षम बनाता है।
यह जीएनयू लीज़र जनरल पब्लिक लाइसेंस (एलजीपीएल) की शर्तों के तहत लाइसेंस प्राप्त है।
यह JAVA प्लेटफॉर्म का उपयोग करके पूरी तरह से लागू किया गया है।
यह विंडोज, मैक, कई लिनक्स बोलियों का समर्थन करता है।
यह परीक्षकों को विभिन्न वेब एपीआई पर स्वचालित कार्यात्मक, प्रतिगमन, अनुपालन और भार परीक्षण निष्पादित करने की अनुमति देता है।
यह सभी प्रकार के एपीआई का परीक्षण करने के लिए सभी मानक प्रोटोकॉल और प्रौद्योगिकियों का समर्थन करता है।
SoapUI का उपयोग संपूर्ण RESTful API और SOAP वेब सेवा परीक्षण का परीक्षण करने के लिए किया जा सकता है। यह कार्यात्मक परीक्षण, प्रदर्शन परीक्षण, अंतर परीक्षण, प्रतिगमन परीक्षण, भार परीक्षण और बहुत कुछ का समर्थन करता है।
यह उपयोगकर्ता के अनुकूल होने के साथ-साथ कार्यात्मक परीक्षण को लोड, तनाव परीक्षण जैसे गैर-कार्यात्मक परीक्षणों में परिवर्तित करना आसान है।
SoapUI निम्नलिखित पाँच पहलुओं में समृद्ध है -
- क्रियात्मक परीक्षण
- सुरक्षा परीक्षण
- लोड परीक्षण
- प्रोटोकॉल और टेक्नोलॉजीज
- अन्य उपकरणों के साथ एकीकरण
आइए इनमें से प्रत्येक क्षमता के बारे में अधिक जानें।
क्रियात्मक परीक्षण
SoapUI परीक्षकों को SoapUI में कार्यात्मक एपीआई परीक्षण लिखने की अनुमति देता है।
SoapUI ड्रैग-ड्रॉप फीचर का समर्थन करता है जो स्क्रिप्ट के विकास को तेज करता है।
SoapUI परीक्षणों के डिबगिंग का समर्थन करता है और परीक्षकों को डेटा संचालित परीक्षणों को विकसित करने की अनुमति देता है।
SoapUI कई वातावरण का समर्थन करता है जिससे QA, Dev और Prod वातावरण में स्विच करना आसान हो जाता है।
SoapUI उन्नत स्क्रिप्टिंग की अनुमति देता है (परीक्षक परिदृश्यों के आधार पर अपना कस्टम कोड विकसित कर सकता है)।
सुरक्षा परीक्षण
SoapUI भेद्यता स्कैन का एक पूरा सेट करता है।
डेटाबेस को सुरक्षित करने के लिए साबुन इंजेक्शन SQL इंजेक्शन को रोकता है।
आकार में भारी दस्तावेजों के कारण स्टैक ओवरफ्लो के लिए सोपुई स्कैन करता है।
क्रॉस-साइट स्क्रिप्टिंग के लिए SoapUI स्कैन, जो तब होता है जब संदेशों में सेवा पैरामीटर उजागर होते हैं।
SoapUI सेवाओं के अनियमित व्यवहार से बचने के लिए फ़ज़िंग स्कैन और सीमा स्कैन करता है।
लोड परीक्षण
SoapUI लोड टेस्टों को LoadUI एजेंटों की संख्या के बीच वितरित करता है।
SoapUI आसानी के साथ उच्च मात्रा और वास्तविक दुनिया भार परीक्षण का अनुकरण करता है।
SoapUI प्रदर्शन मापदंडों को पकड़ने के लिए उन्नत कस्टम रिपोर्टिंग की अनुमति देता है।
SoapUI एंड-टू-एंड सिस्टम प्रदर्शन की निगरानी की अनुमति देता है।
प्रोटोकॉल और टेक्नोलॉजीज
SoapUI प्रोटोकॉल की एक विस्तृत श्रृंखला का समर्थन करता है -
- SOAP - सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल
- WSDL - वेब सेवा परिभाषा भाषा
- बाकी - प्रतिनिधि राज्य स्थानांतरण
- HTTP - हाइपर टेक्स्ट ट्रांसमिशन प्रोटोकॉल
- HTTPS - हाइपर टेक्स्ट ट्रांसमिशन प्रोटोकॉल सुरक्षित
- एएमएफ - एक्शन संदेश प्रारूप
- JDBC - जावा डेटाबेस कनेक्टिविटी
- JMS - जावा मैसेजिंग सर्विस
अन्य उपकरणों के साथ एकीकरण
- अपाचे मावेन प्रोजेक्ट
- HUDSON
- JUnit
- अपाचे - चींटी और अधिक…।
SoapUI एक खुला स्रोत मुक्त संस्करण उपकरण है जिसमें परीक्षण की बुनियादी सुविधाएँ हैं, जबकि SoapUI NG Pro एक व्यावसायिक उपकरण है जिसमें रिपोर्टिंग, डेटा-संचालित कार्यक्षमता और बहुत कुछ की उन्नत सुविधाएँ हैं।
तुलना
निम्न तालिका SoapUI और SoapUI NG Pro की विभिन्न विशेषताओं की तुलना और विरोध करती है।
विशेषताएं | SoapUI | साबुनिया एनजी प्रो |
---|---|---|
Supported Technologies | ||
साबुन | हाँ | हाँ |
डबल्यूएसडीएल / WADL | हाँ | हाँ |
आराम | हाँ | हाँ |
JMS | हाँ | हाँ |
AMF | हाँ | हाँ |
JDBC | हाँ | हाँ |
एचटीटीपी | हाँ | हाँ |
General Features | ||
स्टैंडअलोन अनुप्रयोग | हाँ | हाँ |
बहु पर्यावरण समर्थन | नहीं | हाँ |
फ्लोटिंग लाइसेंस | नहीं | हाँ |
डब्लूएसडीएल कवरेज | नहीं | हाँ |
अनुरोध / प्रतिक्रिया कवरेज | नहीं | हाँ |
संदेश का जोर | हाँ | हाँ |
टेस्ट रीफैक्टिंग | नहीं | हाँ |
कई परीक्षण चल रहे हैं | हाँ | हाँ |
डेटा स्रोत संचालित परीक्षण | नहीं | हाँ |
स्क्रिप्टिंग लाइब्रेरी | नहीं | हाँ |
यूनिट रिपोर्टिंग | नहीं | हाँ |
मैनुअल परीक्षण कदम | हाँ | हाँ |
Reporting | ||
जूनित रिपोर्ट | नहीं | हाँ |
रिपोर्ट डेटा निर्यात | नहीं | हाँ |
WSDL HTML रिपोर्ट | हाँ | हाँ |
टेस्ट सुइट कवरेज | नहीं | हाँ |
टेस्ट केस कवरेज | नहीं | हाँ |
अभिकथन कवरेज | नहीं | हाँ |
संदेश रिकॉर्डिंग कवरेज | नहीं | हाँ |
SoapUI एक क्रॉस-प्लेटफ़ॉर्म टूल है। यह विंडोज, लिनक्स और मैक ऑपरेटिंग सिस्टम को सपोर्ट करता है।
आवश्यक शर्तें
Processor - 1GHz या उच्चतर 32-बिट या 64-बिट प्रोसेसर।
RAM - 512MB RAM।
Hard Disk Space - स्थापना के लिए न्यूनतम 200MB हार्ड डिस्क स्थान।
Operating System Version - विंडोज एक्सपी या बाद में, मैक ओएस 10.4 या बाद में।
JAVA - जावा 6 या बाद का।
डाउनलोड प्रक्रिया
Step 1- www.soapui.org पर जाएं और Download SoapUI पर क्लिक करें।
Step 2- सोपुई ओपन सोर्स को डाउनलोड करने के लिए Source गेट इट इट ’पर क्लिक करें। यह सिस्टम में 112MB .exe फ़ाइल डाउनलोड करना शुरू कर देगा। डाउनलोड प्रक्रिया पूरी होने तक प्रतीक्षा करें।
स्थापना प्रक्रिया
Step 1 - डाउनलोड करने के बाद, .exe फ़ाइल को "व्यवस्थापक के रूप में चलाएं" के रूप में चलाएं।
विंडोज सेट अप प्रक्रिया शुरू कर देगा जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है।
Step 2 - एक बार सेट होने के बाद, प्रक्रिया विंडो निम्न स्क्रीन प्रदर्शित करती है, अगला क्लिक करें।
Step 3 - लाइसेंस समझौते को स्वीकार करें और अगला क्लिक करें।
Step 4- इंस्टॉलेशन डायरेक्टरी चुनें या सिस्टम द्वारा चुने गए डिफ़ॉल्ट पथ के रूप में रखें। अगला पर क्लिक करें।
Step 5- उन घटकों को चुनें जिन्हें आप इंस्टॉल करना चाहते हैं। अगला पर क्लिक करें।
Step 6 - हर्म्सजेएमएस के लिए लाइसेंस समझौते को स्वीकार करें और अगला पर क्लिक करें।
Step 7 - ट्यूटोरियल को बचाने के लिए लक्ष्य निर्देशिका का चयन करें और अगला पर क्लिक करें।
Step 8 - स्टार्ट मेनू फोल्डर लोकेशन चुनें या फिर डिफॉल्ट लोकेशन जैसा है उसे छोड़ दें और 'नेक्स्ट' पर क्लिक करें।
Step 9 - चेकबॉक्स सक्षम करें 'एक डेस्कटॉप आइकन बनाएं' और 'अगला' पर क्लिक करें।
अब, स्थापना शुरू होती है। इसे पूरा करने में कुछ मिनट लगेंगे।
Step 10 - इंस्टॉलेशन पूरा होने के बाद, निम्न विज़ार्ड में समाप्त करें पर क्लिक करें।
Finish पर क्लिक करने पर, SoapUI लॉन्च हो जाता है।
- मेनू पट्टी
- टूल बार
- प्रोजेक्ट नेविगेशन बार
- कार्यक्षेत्र गुण
- लॉग पैनल
कॉन्फ़िगरेशन प्रक्रिया
पहला कदम एक कार्यक्षेत्र बनाना है जिसमें कई परियोजनाएं हो सकती हैं।
Step 1 - फाइल → न्यू वर्कस्पेस पर जाएं।
Step 2 - कार्यक्षेत्र का नाम जोड़ें और ठीक पर क्लिक करें।
Step 3 - अब, उस पथ का चयन करें जहां कार्यक्षेत्र xml सहेजा जाएगा।
Step 4 - पथ का चयन करें और सहेजें पर क्लिक करें।
कार्यक्षेत्र बनाया गया है जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है। कार्यक्षेत्र के गुणों का भी प्रदर्शन किया जाता है।
डब्लूएसडीएल वेब सेवाओं के विवरण भाषा के लिए है। यह वेब सेवा का वर्णन करने के लिए एक मानक प्रारूप है। WSDL Microsoft और IBM द्वारा संयुक्त रूप से विकसित किया गया था। WSDL को 'wiz-dull' और 'WSD-L' के रूप में बताया जाता है।
डब्ल्यूएसडीएल ─ एक संक्षिप्त इतिहास
मार्च 2001 में XML प्रोटोकॉल पर डब्ल्यू 3 सी एक्सएमएल गतिविधि के लिए सेवाओं का वर्णन करने के लिए डब्ल्यूएसडीएल 1.1 को अरीबा, आईबीएम और माइक्रोसॉफ्ट द्वारा डब्ल्यू 3 सी नोट के रूप में प्रस्तुत किया गया था।
WSDL 1.1 को वर्ल्ड वाइड वेब कंसोर्टियम (W3C) द्वारा समर्थन नहीं किया गया है, हालाँकि इसने अभी संस्करण 2.0 के लिए एक मसौदा जारी किया है जो एक सिफारिश (एक आधिकारिक मानक) होगा, और इस प्रकार W3C द्वारा इसका समर्थन किया जाएगा।
डब्ल्यूएसडीएल to अंक नोट करने के लिए
WSDL एक विकेंद्रीकृत और वितरित वातावरण में सूचना के आदान-प्रदान के लिए XML- आधारित प्रोटोकॉल है। WSDL की कुछ अन्य विशेषताएं इस प्रकार हैं -
डब्लूएसडीएल परिभाषाएँ बताती हैं कि वेब सेवा का उपयोग कैसे किया जाता है और यह कौन से संचालन करेगा।
यह एक्सएमएल-आधारित सेवाओं के साथ इंटरफ़ेस करने के तरीके का वर्णन करने के लिए एक भाषा है।
यह यूनिवर्सल विवरण, डिस्कवरी और इंटीग्रेशन (यूडीडीआई) का एक अभिन्न अंग है, जो एक्सएमएल-आधारित विश्वव्यापी व्यापार रजिस्ट्री है।
डब्लूएसडीएल वह भाषा है जिसका यूडीडीआई उपयोग करता है।
डब्लूएसडीएल उपयोग
इंटरनेट पर वेब सेवाएं प्रदान करने के लिए डब्ल्यूएसडीएल का उपयोग अक्सर एसओएपी और एक्सएमएल स्कीमा के संयोजन में किया जाता है। वेब सेवा से जुड़ने वाला एक क्लाइंट प्रोग्राम यह निर्धारित करने के लिए WSDL को पढ़ सकता है कि सर्वर पर क्या कार्य उपलब्ध हैं। किसी भी विशेष डेटाटाइप का उपयोग XML स्कीमा के रूप में WSDL फ़ाइल में किया जाता है। तब ग्राहक SOAP का उपयोग वास्तव में WSDL में सूचीबद्ध कार्यों में से एक को कॉल करने के लिए कर सकता है।
डब्लूएसडीएल को समझना
डब्लूएसडीएल वेब सेवाओं को तीन विशिष्ट, पहचानने योग्य तत्वों में तोड़ देता है जिन्हें एक बार परिभाषित करने के बाद संयुक्त या पुन: उपयोग किया जा सकता है।
WSDL के तीन प्रमुख तत्व जिन्हें अलग-अलग परिभाषित किया जा सकता है वे हैं -
- Types
- Operations
- Binding
एक WSDL दस्तावेज़ में विभिन्न तत्व होते हैं, लेकिन वे इन तीन मुख्य तत्वों में निहित होते हैं, जिन्हें अलग-अलग दस्तावेज़ों के रूप में विकसित किया जा सकता है और फिर उन्हें पूर्ण WSDL फ़ाइलों को बनाने के लिए संयुक्त या पुन: उपयोग किया जा सकता है।
इस ट्यूटोरियल में, हम CurrencyConverter WSDL का अनुसरण कर रहे हैं: http://www.webservicex.net
प्रारूप और तत्व
CurrencyConverter WSDL निम्नलिखित की तरह दिखेगा -
WSDL D पोर्ट प्रकार
<PortType> तत्व संपूर्ण एक-तरफ़ा या राउंड-ट्रिप ऑपरेशन बनाने के लिए कई संदेश तत्वों को जोड़ता है। उदाहरण के लिए, एक <portType> एक अनुरोध और एक प्रतिक्रिया संदेश को एक ही अनुरोध / प्रतिक्रिया ऑपरेशन में जोड़ सकता है। यह SOAP सेवाओं में सबसे अधिक उपयोग किया जाता है। एक पोर्ट टाइप कई ऑपरेशन को परिभाषित कर सकता है।
उदाहरण
- PortType तत्व एक एकल ऑपरेशन को परिभाषित करता है, जिसे ConvertRate कहा जाता है।
- ऑपरेशन में एक एकल इनपुट संदेश कनवर्ज़न RateHttpPostIn शामिल है।
- आउटपुट संदेश के लिए रूपांतरण ConvertRateHttpPostOut है।
संचालन के पैटर्न
WSDL ऑपरेशन के चार बुनियादी पैटर्न का समर्थन करता है -
एक रास्ता
सेवा एक संदेश प्राप्त करता है। इसलिए ऑपरेशन में एक एकल इनपुट तत्व है। वन-वे ऑपरेशन के लिए व्याकरण है -
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name = "nmtoken">
<wsdl:input name = "nmtoken"? message = "qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
अनुरोध onse प्रतिक्रिया
सेवा एक संदेश प्राप्त करती है और एक प्रतिक्रिया भेजती है। इसलिए ऑपरेशन में एक इनपुट तत्व होता है, उसके बाद एक आउटपुट एलिमेंट होता है। त्रुटियों को एनकैप्सुलेट करने के लिए, एक वैकल्पिक गलती तत्व भी निर्दिष्ट किया जा सकता है। अनुरोध-प्रतिक्रिया ऑपरेशन के लिए व्याकरण है -
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name = "nmtoken" parameterOrder = "nmtokens">
<wsdl:input name = "nmtoken"? message = "qname"/>
<wsdl:output name = "nmtoken"? message = "qname"/>
<wsdl:fault name = "nmtoken" message = "qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
समाधान onse प्रतिक्रिया
सेवा एक संदेश भेजती है और एक प्रतिक्रिया प्राप्त करती है। इसलिए ऑपरेशन में एक आउटपुट तत्व होता है, उसके बाद एक इनपुट एलिमेंट होता है। त्रुटियों को एनकैप्सुलेट करने के लिए, एक वैकल्पिक गलती तत्व भी निर्दिष्ट किया जा सकता है। व्याकरण-प्रतिक्रिया संचालन के लिए व्याकरण है -
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name = "nmtoken" parameterOrder = "nmtokens">
<wsdl:output name = "nmtoken"? message = "qname"/>
<wsdl:input name = "nmtoken"? message = "qname"/>
<wsdl:fault name = "nmtoken" message = "qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
सूचनाएं
सेवा एक संदेश भेजती है। इसलिए ऑपरेशन में एकल आउटपुट तत्व है। अधिसूचना संचालन के लिए व्याकरण निम्नलिखित है -
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name = "nmtoken">
<wsdl:output name = "nmtoken"? message = "qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
डब्लूएसडीएल & बाइंडिंग एंड सर्विस
<binding>तत्व विशिष्ट विवरण प्रदान करता है कि कैसे एक पोर्ट टाइप ऑपरेशन वास्तव में तार पर प्रेषित किया जाएगा।
बाइंडिंग को HTTP GET, HTTP POST या SOAP सहित कई ट्रांसपोर्ट के माध्यम से उपलब्ध कराया जा सकता है।
बाइंडिंग इस बात पर ठोस जानकारी प्रदान करते हैं कि पोर्टटेप ऑपरेशंस को स्थानांतरित करने के लिए कौन से प्रोटोकॉल का उपयोग किया जा रहा है।
बाइंडिंग जानकारी प्रदान करती है कि सेवा कहाँ स्थित है।
SOAP प्रोटोकॉल के लिए, बाइंडिंग <साबुन: बाइंडिंग> है, और परिवहन HTTP प्रोटोकॉल के शीर्ष पर SOAP संदेश है।
आप एकल पोर्टटाइप के लिए कई बाइंडिंग निर्दिष्ट कर सकते हैं।
सर्विस
<service>तत्व वेब सेवा द्वारा समर्थित पोर्ट को परिभाषित करता है। प्रत्येक समर्थित प्रोटोकॉल के लिए, एक पोर्ट एलिमेंट है। सेवा तत्व बंदरगाहों का एक संग्रह है।
वेब सेवा ग्राहक सेवा तत्व से निम्नलिखित सीख सकते हैं -
- सेवा का उपयोग करने के लिए,
- जिसके माध्यम से वेब सेवा का उपयोग करने के लिए पोर्ट, और
- संचार संदेश कैसे परिभाषित किए जाते हैं।
सेवा तत्व में मानव-पठनीय प्रलेखन प्रदान करने के लिए एक प्रलेखन तत्व शामिल है।
<wsdl:service name = "CurrencyConvertor">
<wsdl:port name = "CurrencyConvertorSoap" binding = "tns:CurrencyConvertorSoap">
<soap:address location = "http://www.webservicex.net/CurrencyConvertor.asmx" />
</wsdl:port>
<wsdl:port name = "CurrencyConvertorSoap12"binding = "tns:CurrencyConvertorSoap12>
<soap12:address location = "http://www.webservicex.net/CurrencyConvertor.asmx" />
</wsdl:port>
<wsdl:port name = "CurrencyConvertorHttpGet" binding = "tns:CurrencyConvertorHttpGet">
<http:address location = "http://www.webservicex.net/CurrencyConvertor.asmx" />
</wsdl:port>
<wsdl:portname = "CurrencyConvertorHttpPost"binding = "tns:CurrencyConvertorHttpPost">
<http:address location = "http://www.webservicex.net/CurrencyConvertor.asmx" />
</wsdl:port>
</wsdl:service>
SoapUI परियोजना सभी SoapUI परीक्षण में केंद्रीय बिंदु है। एक बार परियोजना बन जाने के बाद, उपयोगकर्ता कार्यात्मक परीक्षण, लोड परीक्षण बना सकता है और चला सकता है, नकली सेवाएं और बहुत कुछ बना सकता है।
इस अध्याय में, हम दो बातों पर चर्चा करेंगे - कैसे करें -
- SOAP प्रोजेक्ट बनाएं
- एक WSDL जोड़ें
SOAP प्रोजेक्ट बनाएं
Step 1 - स्क्रीन के बाईं ओर नाविक में, "प्रोजेक्ट" पर राइट-क्लिक करें और "न्यू सोप प्रोजेक्ट" चुनें।
या फाइल में जाकर न्यू सोप प्रोजेक्ट का चयन करें।
चयन पर, एक नई पॉप-अप विंडो खुलती है -नव साबुन परियोजना।
Step 2 - Project Name: एक परियोजना का नाम दर्ज करें - यह उपयोगकर्ता इनपुट क्षेत्र है। Initial WSDL: यह अनिवार्य नहीं है। यह उपयोगकर्ता पर निर्भर करता है। उपयोगकर्ता WSDL प्रदान कर सकता है या परियोजना के निर्माण के बाद जोड़ सकता है।
इस मामले में, हम एक परियोजना बनाते हैं और डब्ल्यूएसडीएल को बाद में जोड़ते हैं।
Step 3- क्लिक करें। यह एक नया प्रोजेक्ट बनाएगा और बाईं ओर नेविगेशन पैनल पर दिखाई देगा।
एक WSDL जोड़ें
SOAP प्रोजेक्ट्स WSDL पर आधारित हैं। डब्लूएसडीएल आयात करके शुरू करना आवश्यक नहीं है, लेकिन यह परीक्षण को आसान बनाता है क्योंकि डब्लूएसडीएल में सभी सूचनाएँ होती हैं जो अनुरोधों और प्रतिक्रियाओं के बारे में जानकारी जैसे कि वे क्या होते हैं और बहुत अधिक है, जो साबुन परीक्षण को सरल बनाता है, के बारे में जानकारी का परीक्षण करना आवश्यक है।
Step 1 - WSDL जोड़ने के लिए, प्रोजेक्ट नाम (SOAP - उदाहरण) पर राइट-क्लिक करें और Add WSDL चुनें।
चयन पर, WSDL विज़ार्ड प्रदर्शित किया जाता है।
Step 2 - WSDL Location: के रूप में एक WSDL दर्ज करें http://www.webservicex.com या इसे कंप्यूटर से ब्राउज़ करें।
Step 3- जैसे ही WSDL में प्रवेश किया जाता है, 3 चेकबॉक्स - रिक्वेस्ट क्रिएट, क्रिएट टेस्टसुइट, क्रिएट मॉकसर्विस सक्षम हो जाएंगे। आवश्यकता के आधार पर, उपयोगकर्ता एक या कई चेकबॉक्स की जांच कर सकता है।
डिफ़ॉल्ट रूप से, बनाएँ अनुरोधों के चेकबॉक्स की जाँच की जाती है।
Step 4- क्लिक करें। WSDL प्रोजेक्ट में सफलतापूर्वक जोड़ा गया है। यह बाएं नेविगेशन पैनल को देखकर सत्यापित किया जा सकता है। परियोजना के अंदर, कई ऑपरेशन हैं, और डब्ल्यूएसडीएल के अनुसार अनुरोध जोड़े जाते हैं।
विवरण देखें
प्रोजेक्ट का अधिक विवरण प्राप्त करने के लिए, प्रोजेक्ट नाम पर डबल-क्लिक करें, यह विभिन्न विवरणों के साथ एक नई विंडो खोलेगा।
अवलोकन टैब में, विभिन्न जानकारी प्रदान की जाती हैं जैसे -
File Path - यह बचाया परियोजना xml का स्थान प्रदर्शित करता है।
Interface Summary - इंटरफ़ेस का नाम और WSDL इससे जुड़ा है।
Test Summary - यह परीक्षण सूट, परीक्षण के मामले, परीक्षण कदम, परियोजना में जोड़े गए दावे प्रदर्शित करता है।
इंटरफ़ेस विवरण प्राप्त करने के लिए उपयोगकर्ता इंटरफ़ेस नाम को डबल-क्लिक कर सकता है। यह एक नई विंडो खोलेगा और डब्ल्यूएसडीएल संबंधित सूचना प्रदर्शित करेगा। WSDL को ब्राउज़ करने और जांचने के लिए ये बहुत उपयोगी हैं।
अवलोकन टैब में, यह डब्ल्यूएसडीएल परिभाषाओं, परिभाषा भागों और ऑपरेशन विवरण को सूचीबद्ध करता है।
इसी तरह, सेवा समापन बिंदु समापन बिंदुओं का विवरण सूचीबद्ध करता है।
WSDL सामग्री टैब में, XML / स्कीमा प्रारूप में WSDL के सभी विवरण निम्न स्क्रीनशॉट में दिखाए गए अनुसार प्रदान किए गए हैं।
TestSuiteटेस्ट केस का एक संग्रह है जो कार्यात्मक इकाइयों को तार्किक इकाइयों में समूहित करने के लिए इस्तेमाल किया जा सकता है। बड़े पैमाने पर परीक्षण परिदृश्यों का समर्थन करने के लिए किसी भी परीक्षण TestSuites SoapUI परियोजना के अंदर बनाया जा सकता है।
टेस्टसुइट का निर्माण
Step 1 - एक परियोजना के भीतर, इंटरफ़ेस पर राइट-क्लिक करें (प्रोजेक्ट नाम के बगल में) और फिर 'जनरेट टेस्टसुइट' पर क्लिक करें।
यहाँ, SOAP - उदाहरण एक प्रोजेक्ट का नाम है जबकि CurrencyConvertorSoap और CurrencyConvertorSoap12 इंटरफेस हैं।
Step 2- एक नया विज़ार्ड खुलता है। आवश्यकता के आधार पर विकल्पों का चयन करें।
Step 3 - चयन हो जाने के बाद, ठीक पर क्लिक करें।
Step 4- जेनरेट लोडटेस्ट का चेकबॉक्स चेक करें। यह इस TestSuite में बनाए गए प्रत्येक TestCase के लिए एक लोडटेस्ट उत्पन्न करेगा।
Step 5 - नए विज़ार्ड में TestSuite नाम दर्ज करें और फिर ठीक पर क्लिक करें।
निम्न स्क्रीनशॉट में दिखाए गए अनुसार नेविगेशन पैनल में निर्मित टेस्टसुइट प्रदर्शित करता है।
Step 6- TestSuite नाम पर डबल-क्लिक करें, और दाईं ओर पैनल में TestSuite विंडो खुलती है। चूँकि कोई TestCases नहीं जोड़ा गया है, यह रिक्त है।
TestSuite संपत्तियों को नेविगेशन पैनल के नीचे देखा जा सकता है। नए कस्टम गुण TestSuite स्तर पर जोड़े जा सकते हैं।
TestCase वेब सेवा (एस) के कुछ विशिष्ट पहलू का परीक्षण करने के लिए इकट्ठे टेस्टस्टेप्स का एक संग्रह है। उपयोगकर्ता एक TestSuite में TestCases की संख्या जोड़ सकते हैं और यहां तक कि जटिल परीक्षण परिदृश्यों के लिए एक दूसरे को कॉल करने के लिए उन्हें संशोधित कर सकते हैं।
टेस्टकेस का निर्माण
Step 1- एक TestSuite के भीतर, उपयोगकर्ता कई परीक्षण मामलों को जोड़ सकते हैं। टेस्ट सूट पर राइट-क्लिक करें और "नया टेस्ट केस" चुनें।
Step 2 - TestCase का नाम दर्ज करें और ओके पर क्लिक करें।
बनाए गए TestCase में अब के रूप में शून्य परीक्षण चरण हैं। TestCase शून्य टेस्टस्टेप्स के साथ उपलब्ध सभी प्रकार के परीक्षणों के लिए जोड़ा जाता है। एक बार टेस्टस्टेप्स जुड़ जाने के बाद, ब्रैकेट में नंबर अपने आप बदल जाएंगे। कार्यात्मक टेस्टस्टेप को Steps टेस्ट स्टेप्स ’में जाना चाहिए जबकि एक प्रदर्शन टेस्टस्टेप को St लोड टेस्ट’ में जाना चाहिए, और एक सुरक्षा टेस्टस्टेप को Tests सिक्योरिटी टेस्ट ’में जाना चाहिए।
Step 3- TestCase नाम पर डबल-क्लिक करें, और दाईं ओर पैनल पर एक TestCase विंडो खुलती है। चूंकि कोई टेस्टस्टेप्स नहीं जोड़े गए हैं, यह निम्न स्क्रीनशॉट में देखा गया है जैसा कि रिक्त है।
TestSteps SoapUI में कार्यात्मक परीक्षणों के "बिल्डिंग ब्लॉक" हैं। ये एक TestCase में जोड़े जाते हैं और निष्पादन के प्रवाह को नियंत्रित करने और परीक्षण किए जाने के लिए वेब सेवा की कार्यक्षमता को मान्य करते हैं।
टेस्टस्टेप की प्रविष्टि
Step 1- TestSteps पर राइट-क्लिक करें। चरण जोड़ें और सूची से एक उपयुक्त टेस्टस्टेप का चयन करें। उदाहरण के लिए, यदि उपयोगकर्ता को REST WebService का परीक्षण करना है, तो उपयोगकर्ता REST परीक्षण अनुरोध का चयन करेगा।
Step 2 - TestSteps → स्टेप → SOAP अनुरोध का चयन करके आयातित SOAP अनुरोध को मान्य करने के लिए एक TestStep जोड़ें।
Step 3 - TestStep का नाम दर्ज करें और विज़ार्ड में ओके पर क्लिक करें।
'ओके' पर क्लिक करने पर, एक डायलॉग बॉक्स पॉप अप करने के लिए ऑपरेशन का चयन करने के लिए पॉप अप होता है। सभी ऑपरेशन सूचीबद्ध हैं, और उपयोगकर्ता उस ऑपरेशन का चयन कर सकते हैं जिसे वे आमंत्रित करना चाहते हैं।
दो ऑपरेशन हैं जिन्हें सूचीबद्ध किया जाएगा। उपयोग किए गए SOAP संस्करण को छोड़कर दोनों ऑपरेशन समान हैं।CurrencyConvertorSoap का उपयोग करता है SOAP संस्करण 1.1 जबकि, CurrencyConvertorSoap12 SOAP संस्करण 1.2 का उपयोग करता है।
Step 4 - पहले एक का चयन करें - CurrencyConvertorSoap और ठीक पर क्लिक करें।
TestCase जोड़ते समय, विभिन्न मानक अभिकथनों को जोड़ा जा सकता है। निबंध को SOAP अनुरोध / प्रतिक्रिया की चौकियों / सत्यापन बिंदुओं के रूप में भी कहा जाता है।
Step 5 - आइए हम एक डिफ़ॉल्ट विकल्प के साथ एक टेस्टकेस बनाएं जिसका अर्थ है कि निम्नलिखित सत्यापन बिंदुओं में से किसी के बिना टेस्टस्टेप बनाना -
- परीक्षण के निष्पादन पर प्रतिक्रिया संदेश SOAP है, तो सत्यापित करता है।
- सत्यापित करता है कि प्रतिक्रिया स्कीमा मान्य है या नहीं।
- सत्यापित करता है कि SOAP प्रतिक्रिया में FAULT है।
Step 6 - ठीक पर क्लिक करने पर, निम्न अनुरोध XML स्क्रीनशॉट पॉप अप हो जाता है।
परीक्षण स्टेप काउंट अब एक कार्यात्मक टेस्टस्टेप जोड़ा गया है। इसी तरह, लोड और सुरक्षा टेस्टस्टेप्स को जोड़ने पर, जोड़े गए चरणों की संख्या के आधार पर संबंधित संख्या स्वचालित रूप से बढ़ जाती है।
अनुरोध सेटअप
यहां, हम INR से USD में मुद्रा का रूपांतरण करेंगे।
- FromCurrency - INR
- ToCurrency - अमरीकी डालर
अगला, इन इनपुट को प्रश्न चिह्न के स्थान पर दर्ज करें जिसे अनुरोध XML के रूप में भेजा जाएगा। उन मानों को संबंधित XML टैग में रखने के बाद, प्रतिक्रिया की जांच करने के लिए 'सबमिट रिक्वेस्ट' बटन पर क्लिक करें।
प्रतिक्रिया
अनुरोध सबमिट करने पर, वेब सेवा अनुरोध वेब सर्वर द्वारा संसाधित किया जाता है और निम्नलिखित स्क्रीनशॉट में दिखाए अनुसार प्रतिक्रिया भेजता है।
प्रतिक्रिया पढ़कर, यह निष्कर्ष निकाला जा सकता है कि INR की 1 इकाई = USD की 0.0147 इकाइयाँ।
HTTP अनुरोध
SOAP संदेश HTTP प्रोटोकॉल द्वारा पहुँचाए जाते हैं। HTTP अनुरोध देखने के लिए, SoapUI Request विंडो (बाईं ओर) पर RAW पर क्लिक करें।
अनुरोध वेब-सर्वर पर पोस्ट किया गया है। इसलिए, Http की POST विधि का उपयोग किया जाता है।
SOAP अनुरोध http संदेश के मुख्य भाग में पहुँचाया जाता है, जो निम्नानुसार दिखाया गया है।
POST http://www.webservicex.com/currencyconvertor.asmx HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset = UTF-8
SOAPAction: "http://www.webserviceX.NET/ConversionRate"
Content-Length: 353
Host: www.webservicex.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
HTTP रिस्पांस
HTTP के माध्यम से प्रतिक्रिया कैसे भेजी जाती है, यह समझने के लिए SOAP-UI रिस्पॉन्स विंडो में 'RAW' टैब पर क्लिक करें।
अनुरोध को संसाधित करने के बाद, http प्रतिक्रिया कोड (200) दिखाया गया है जिसका अर्थ है कि यह एक सफलता है। वेब-सर्वर ने इसे सफलतापूर्वक संसाधित किया है।
SOAP प्रतिक्रिया क्लाइंट को HTTP संदेश के मुख्य भाग के रूप में वापस भेजी जाती है।
HTTP/1.1 200 OK
Cache-Control: private, max-age = 0
Content-Type: text/xml; charset = utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sun, 22 Jan 2017 19:39:31 GMT
Content-Length: 316
वेब-सर्वर द्वारा प्रतिक्रियाओं में भेजने के लिए HTTP कोड्स का अनुसरण किया जाता है और डीबगिंग के लिए बहुत उपयोगी होते हैं।
HTTP कोड | विवरण |
---|---|
1xx: |
Informational - इसका मतलब है कि एक अनुरोध प्राप्त हुआ था और एक सतत प्रक्रिया है। |
2xx: |
Success - कार्रवाई सफलतापूर्वक प्राप्त हुई, समझी गई, और स्वीकार की गई। |
3xx: |
Redirection - इसका मतलब है कि अनुरोध को पूरा करने के लिए आगे की कार्रवाई की जानी चाहिए। |
4xx: |
Client Error - इसका मतलब है कि अनुरोध में एक खराब वाक्यविन्यास है या पूरा नहीं किया जा सकता है। |
5xx: |
Server Error - सर्वर एक स्पष्ट रूप से वैध अनुरोध को पूरा करने में विफल रहा। |
गुण SoapUI के साथ अधिक उन्नत परीक्षण का एक केंद्रीय पहलू हैं। कार्यात्मक परीक्षण गुणों का उपयोग परीक्षणों के निष्पादन और कार्यक्षमता को मानकीकृत करने के लिए किया जाता है।
गुणों का उपयोग सेवाओं के समापन बिंदुओं को रखने के लिए किया जा सकता है, जिससे परीक्षण निष्पादन के दौरान उपयोग किए जाने वाले वास्तविक समापन बिंदुओं को बदलना आसान हो जाता है।
गुणों का उपयोग प्रमाणीकरण क्रेडेंशियल्स रखने के लिए किया जा सकता है, जिससे उन्हें केंद्रीय स्थान या बाहरी फ़ाइल में प्रबंधित करना आसान हो जाता है।
गुणों का उपयोग परीक्षण निष्पादन के दौरान सत्र आईडी को स्थानांतरित करने और साझा करने के लिए किया जा सकता है, इसलिए कई परीक्षण चरण या परीक्षण मामले समान सत्र साझा कर सकते हैं।
गुणों को परिभाषित करना
एक परियोजना में कई स्तरों पर गुणों को परिभाषित किया जा सकता है।
प्रोजेक्ट-स्तर पर सामान्य गुण को प्रोजेक्ट स्तर पर परिभाषित किया जा सकता है।
इसी तरह, TestSuite और TestCase विशिष्ट गुणों को उनके संबंधित स्तरों पर परिभाषित किया जा सकता है।
परियोजना के विशिष्ट गुण कस्टम गुण टैब में परिभाषित किए गए हैं।
उदाहरण के लिए, एक संपत्ति "ToCurrency" को "+" प्रतीक पर क्लिक करके और संपत्ति का नाम और मान दर्ज करके परियोजना स्तर पर परिभाषित किया जा सकता है।
संपत्ति तक पहुँच
प्रॉपर्टी एक्सपेंशन का इस्तेमाल करके प्रोजेक्ट में कहीं भी प्रॉपर्टी एक्सेस की जा सकती है।
संरचना इस प्रकार होगी -
$ {# प्रोजेक्ट # प्रॉपर्टीनेम} - प्रोजेक्ट लेवल के लिए
$ {# TestSuite # PropertyName} - टेस्ट सूट स्तर के लिए
$ {# TestCase # PropertyName} - टेस्ट केस स्तर के लिए
$ {TestStepName # PropertyName} - टेस्ट स्टेप स्तर के लिए
$ {# MockService # PropertyName} - MockService संपत्ति के लिए
$ {# वैश्विक # संपत्ति का नाम} - वैश्विक गुणों के लिए, फ़ाइल → वरीयता → वैश्विक गुणों टैब में पाया जाता है। इस संपत्ति का उपयोग सभी परियोजनाओं में किया जा सकता है
$ {# सिस्टम # प्रॉपर्टीनेम} - सिस्टम प्रॉपर्टी के लिए, हेल्प → सिस्टम प्रॉपर्टीज में पाया जाता है
$ {# Env # PropertyName} - पर्यावरण चर के लिए
रन-टाइम के दौरान विशिष्ट विशेषता का मूल्य प्राप्त करने के लिए अनुरोध XML पर समान संरचना रखी जा सकती है।
एक कंप्यूटर प्रोग्राम में एक संपत्ति को एक चर के रूप में भी माना जा सकता है। यदि उपयोगकर्ता किसी ऐसी चीज़ को परिभाषित करना चाहता है जिसका उपयोग कहीं और भी किया जा सकता है, तो गुण बहुत उपयोगी हैं। गुण गतिशील रूप से भी परिभाषित कर सकते हैं लेकिन यह ग्रूवी लिपि पर निर्भर है।
कभी-कभी प्रतिक्रिया संदेश से कुछ मूल्य निकालने की आवश्यकता होती है और इसे बाद के अनुरोध में शामिल करते हैं। ऐसे मामले में, हमें एक निर्दिष्ट मान प्राप्त करने और इसे परियोजना के अन्य तत्वों में स्थानांतरित करने के लिए एक तंत्र की आवश्यकता है। SoapUI प्रॉपर्टी ट्रांसफर टेस्टस्टेप के माध्यम से इस तरह की कार्यक्षमता का समर्थन करता है।
संपत्ति हस्तांतरण जोड़ना
Step 1 - TestCase या TestStep का चयन करें, राइट-क्लिक करें → चरण जोड़ें → संपत्ति हस्तांतरण।
Step 2 - टेस्टस्टेप नाम दर्ज करें और ओके पर क्लिक करें।
Step 3 - RateTransfer कदम जोड़ा गया है और एक नया विज़ार्ड खुल जाएगा।
Step 4- प्रॉपर्टी ट्रांसफर विंडो में ऊपर-बाएं कोने में एक नया प्रॉपर्टी ट्रांसफर आइकन + ऐड्स पर क्लिक करें। यह स्थानांतरण के लिए एक नाम दर्ज करने के लिए प्रेरित किया जाएगा। दर दर्ज करें और ठीक पर क्लिक करें।
एक संपत्ति का स्थानांतरण
एक बार ट्रांसफर बनने के बाद, Source तथा Target panesसंपत्ति मूल्यों को निकालने और बदलने के लिए प्रासंगिक XPath अभिव्यक्तियों को निर्दिष्ट करने की आवश्यकता है। स्रोत के बगल में स्थित ड्रॉप-डाउन बॉक्स में, SoapUI परियोजनाओं के विभिन्न स्तरों को सूचीबद्ध किया गया है, जिन्हें संपत्ति हस्तांतरण के स्रोत के रूप में उपयोग किया जा सकता है। डिफ़ॉल्ट रूप से, निकटतम टेस्टस्टेप दिखाया जाएगा।
इस मामले में, यह है Request – INR to USDTestStep। प्रॉपर्टी के बगल में स्थित ड्रॉप-डाउन सूची उस स्रोत प्रॉपर्टी को दिखाती है जिसका उपयोग स्थानांतरण में किया जाता है, जो या तो अनुरोध, प्रतिक्रिया या सेवा समापन बिंदु हो सकती है।
Step 1- रिस्पॉन्स सिलेक्ट करें और पाथ लैंग्वेज पर जाएं। उपयोगकर्ता संपत्ति को परिभाषित करने के लिए XPath, Xquery, या जेसन का चयन कर सकता है। इस स्थिति में, XPath का चयन करें।
Step 2 - स्रोत xml की घोषणा प्राप्त करने के लिए, ns पर क्लिक करें और XPath निर्दिष्ट करें।
Step 3- उस लक्ष्य को निर्दिष्ट करें जहां उपरोक्त XPath अभिव्यक्ति से निकाले गए मूल्य को स्थानांतरित किया जाना है। उसके लिए प्रॉपर्टी ट्रांसफर विंडो के निचले भाग में लक्ष्य फलक का उपयोग किया जाता है।
Step 4 - RequestRRtoUSD कदम की प्रतिक्रिया से रूपांतरणRateResult के निकाले गए मूल्य को स्थानांतरित करें।
Target - गुण
Property - ConvertRate (एक नई संपत्ति जोड़ी गई, इसका शुरू में कोई मूल्य नहीं है)।
Step 5 - एक बार जब टेस्ट केस सफलतापूर्वक चल जाता है, तो प्रॉपर्टी “कनवर्सेशन” प्रतिक्रिया के आधार पर अपडेट हो जाती है।
प्रारंभ में स्क्रीनशॉट निम्न है।
एक सफल रन के बाद स्क्रीनशॉट है।
इसी तरह, लक्ष्य अगला अनुरोध XML हो सकता है। यदि लक्ष्य SOAP अनुरोध है, तो हमें लक्ष्य विशेषता की पहचान करने के लिए XPath प्रदान करना होगा।
लॉग पैन क्लाइंट और सर्वर के बीच लेनदेन के संबंध में पूरी जानकारी संग्रहीत करता है। उपयोगकर्ता लॉग फलक के विभिन्न टैब को देख पाएंगे। हम इस अध्याय में SoapUI के साथ काम करते समय सबसे अधिक इस्तेमाल किए जाने वाले लॉग पैन पर चर्चा करेंगे।
साबुन लॉग
SoapUI लॉग वेब सर्वर से प्रतिक्रिया की जानकारी प्रदर्शित करता है। एक ही जानकारी 'बिन' निर्देशिका के तहत सोप-यूआई स्थापित फ़ोल्डर की साबुनई.लॉग फ़ाइल में संग्रहीत है।
HTTP लॉग
HTTP लॉग सभी HTTP पैकेट ट्रांसफर को प्रदर्शित करता है। 'रॉ' में सभी जानकारी HTTP लॉग में दिखाई गई है।
त्रुटि संग्रह
त्रुटि लॉग पूरे प्रोजेक्ट सत्र के दौरान आई सभी त्रुटियों को प्रदर्शित करता है। वही जानकारी 'साबुनू-त्रुटियों' में उपलब्ध है जो सोपुई स्थापित स्थान के 'बिन' निर्देशिका में मौजूद है।
मेमोरी लॉग
यह टैब मेमोरी की खपत पर नज़र रखता है और चार्ट के रूप में निम्न स्क्रीनशॉट में दिखाया गया है। मेमोरी इंटेंसिव ऑपरेशन करने पर यह वास्तव में मददगार होता है।
मुखबिरी की व्याख्या चौकी या सत्यापन बिंदु के रूप में की जा सकती है। एक बार एक अनुरोध एक वेब सर्वर को भेजा जाता है, एक प्रतिक्रिया प्राप्त होती है। उस प्रतिक्रिया को मान्य करना आवश्यक है जिसमें डेटा अपेक्षित है या नहीं। प्रतिक्रिया को मान्य करने के लिए, SoapUI में एक मुखर विशेषता है।
नोट करने के लिए अंक
निष्पादन के दौरान टेस्टस्टेप द्वारा प्राप्त संदेश को मान्य करने के लिए उपयोग किया जाता है।
यह संदेश या संपूर्ण संदेश के भाग की तुलना कुछ अपेक्षित मूल्य से करता है।
किसी भी संख्या के दावे को टेस्टस्टेप में जोड़ा जा सकता है, प्रत्येक प्रतिक्रिया के संदेश के कुछ अलग पहलू और सामग्री को मान्य करता है।
टेस्टस्टेप निष्पादित होने के बाद, इसके सभी अभिक्रियाओं को प्राप्त प्रतिक्रिया पर लागू किया जाता है और यदि उनमें से कोई भी विफल हो जाता है तो टेस्टस्टेप को टेस्टकेस दृश्य में विफल के रूप में चिह्नित किया जाता है।
परीक्षण निष्पादन लॉग में विफल प्रविष्टि दिखाता है।
प्रकार के दावे
SoapUI प्रतिक्रिया में मुखरता की एक विस्तृत श्रृंखला का समर्थन करता है।
SoapUI द्वारा समर्थित दावे की सूची निम्नलिखित हैं।
अभिकथन | विवरण |
---|---|
Property Content | |
शामिल | निर्दिष्ट स्ट्रिंग के अस्तित्व के लिए जाँच करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है। |
सम्मिलित नहीं है | निर्दिष्ट स्ट्रिंग के गैर-अस्तित्व के लिए जाँच करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है। |
XPath मैच | लक्ष्य नोड और उसके मूल्यों का चयन करने के लिए XPath अभिव्यक्ति का उपयोग करता है। एक्सपीथ एक्सप्रेशन के परिणाम की एक अपेक्षित मूल्य से तुलना करता है। |
XQuery मैच | लक्ष्य संपत्ति से सामग्री का चयन करने के लिए एक Xquery अभिव्यक्ति का उपयोग करता है। एक अपेक्षित मूल्य पर XQuery अभिव्यक्ति के परिणाम की तुलना करता है। |
Compliance, Status, Standards | |
HTTP डवानलोड ऑल रिसोर्स | एक HTML दस्तावेज़ (चित्र, स्क्रिप्ट, आदि) होने के लिए संदर्भित सभी संसाधनों को डाउनलोड करता है और पुष्टि करता है कि वे सभी उपलब्ध हैं। HTML युक्त किसी भी संपत्ति पर लागू। |
अमान्य HTTP स्थिति कोड | जाँचता है कि लक्ष्य टेस्टस्टेप को एक निर्धारित परिणाम के साथ HTTP कोड प्राप्त हुआ है जो परिभाषित कोड की सूची में नहीं है। HTTP संदेशों को प्राप्त करने वाले किसी भी टेस्टस्टेप के लिए लागू। |
साबुन दोष नहीं | पुष्टि करता है कि अंतिम प्राप्त संदेश SOAP दोष नहीं है। SOAP टेस्टस्टेप्स के लिए लागू। |
स्कीमा अनुपालन | पुष्टि करता है कि अंतिम प्राप्त संदेश संबद्ध WSDL या WADL स्कीमा परिभाषा के अनुरूप है। SOAP और REST टेस्ट चरणों के लिए लागू। स्कीमा परिभाषा URL संपत्ति विस्तार (जैसे $ {# सिस्टम # my.wsdl.endpoint} / सेवाओं / PortType? Wsdl) का समर्थन करता है। |
SOAP दोष | पुष्टि करता है कि अंतिम प्राप्त संदेश SOAP दोष है। SOAP टेस्टस्टेप SOAP अनुरोध पर लागू होता है - यह पुष्टि करता है कि अंतिम प्राप्त अनुरोध एक मान्य SOAP अनुरोध है। केवल MockResponse टेस्ट स्टेप्स के लिए लागू। |
SOAP प्रतिक्रिया | पुष्टि करता है कि अंतिम प्राप्त प्रतिक्रिया एक मान्य एसओएपी प्रतिक्रिया है। SOAP TestRequest स्टेप्स के लिए ही लागू है। |
मान्य HTTP स्थिति कोड | जाँचता है कि निर्धारित टेस्टस्टेप को निर्धारित कोड की सूची में एक स्थिति कोड के साथ HTTP परिणाम प्राप्त हुआ। HTTP संदेशों को प्राप्त करने वाले किसी भी टेस्टस्टेप के लिए लागू। |
WS- पते का अनुरोध | पुष्टि करता है कि अंतिम प्राप्त अनुरोध में मान्य WS- एड्रेसिंग हेडर हैं। केवल MockResponse TestSteps के लिए लागू। |
WS- एड्रेसिंग रिस्पांस | पुष्टि करता है कि अंतिम प्राप्त प्रतिक्रिया में मान्य WS- एड्रेसिंग हेडर हैं। SOAP TestRequest स्टेप्स के लिए ही लागू है। |
WS- सुरक्षा स्थिति | पुष्टि करता है कि अंतिम प्राप्त संदेश में वैध WS- सुरक्षा शीर्षलेख शामिल थे। SOAP टेस्ट स्टेप्स के लिए लागू। |
Script | |
लिपि अभिकथन | उपयोगकर्ताओं को उपयोगकर्ता परिभाषित मान्यताओं को करने के लिए एक कस्टम स्क्रिप्ट निष्पादित करने की अनुमति देता है। केवल टेस्टस्टेप्स के लिए लागू (अर्थात गुण नहीं) |
SLA | |
प्रतिक्रिया एसएलए | परिभाषित करता है कि अंतिम प्राप्त प्रतिक्रिया का प्रतिक्रिया समय निर्धारित सीमा के भीतर था। स्क्रिप्ट टेस्टस्टेप्स और टेस्टस्टेप्स पर लागू होता है जो अनुरोध भेजते हैं और प्रतिक्रियाएं प्राप्त करते हैं। |
JMS | |
जेएमएस स्थिति | पुष्टि करता है कि लक्ष्य टेस्टस्टेप के जेएमएस अनुरोध को सफलतापूर्वक निष्पादित किया गया है। एक JMS समापन बिंदु के साथ TestSteps का अनुरोध करने के लिए लागू। |
जेएमएस टाइमआउट | पुष्टि करता है कि लक्ष्य टेस्टस्टेप का जेएमएस विवरण निर्दिष्ट अवधि से अधिक समय नहीं ले पाया। एक JMS समापन बिंदु के साथ TestSteps का अनुरोध करने के लिए लागू। |
Security | |
संवेदनशील जानकारी एक्सपोजर | यदि सत्यापन संदेश लक्ष्य प्रणाली के बारे में संवेदनशील जानकारी को उजागर नहीं करता है, तो सत्यापित करता है। हम इस दावे का उपयोग REST, SOAP और HTTP टेस्टस्टेप्स के लिए कर सकते हैं। |
JDBC | |
JDBC स्थिति | पुष्टि करता है कि लक्ष्य टेस्टस्टेप के JDBC अनुरोध को सफलतापूर्वक निष्पादित किया गया है। केवल JDBC टेस्टस्टेप्स के लिए लागू। |
JDBC टाइमआउट | पुष्टि करता है कि लक्ष्य टेस्टस्टेप के JDBC कथन को निर्दिष्ट अवधि से अधिक समय नहीं लगा। केवल JDBC टेस्टस्टेप्स के लिए लागू। |
SoapUI में, उपयोगकर्ताओं को कई सामान्य सामान्य मुद्दों का सामना करना पड़ता है जिन्हें थोड़ी सतर्कता के साथ सुलझाया जा सकता है। इन सबसे आम मुद्दों में से कुछ निम्नलिखित हैं -
Issue- नाम स्थान को गलत तरीके से परिभाषित किया गया है। सही नाम स्थान का उपयोग करें। नामस्थान वह URL होना चाहिए जहां वेब सेवा स्थित है।
Solution - यदि स्क्रिप्टिंग अभिकथन को विकसित करते समय कोई त्रुटि होती है, तो चर की सामग्री को प्रिंट करने के लिए 'log.info' का उपयोग करें।
Issue - यदि कोई गलती-कोड प्रतिक्रिया XML के रूप में प्राप्त होता है, तो यह अमान्य इनपुट के कारण हो सकता है।
Solution - अनुरोध एक्सएमएल के इनपुट की पुष्टि करें।
Example - मुद्रा परिवर्तक में, यदि 'FromCurrency' का इनपुट '123' है, जो मौजूद नहीं है, तो आउटपुट 'SOAP-Client' के रूप में एक फॉल्ट कोड फेंकता है, जिसका अर्थ है कि यह समस्या उस पैरामीटर के साथ है जिसे पास किया जा रहा है ग्राहक की ओर।
निवेदन
प्रतिक्रिया
Issue - XPath या XQuery का उपयोग करते समय वर्तमान प्रतिक्रिया में कोई मेल नहीं।
Solution -
- XPath या XQuery को परिभाषित करते समय सही सिंटैक्स का उपयोग करें।
- नाम का ऐलान करते समय सत्यापित करें कि कोलन का उपयोग किया गया है और डॉट का नहीं।
- सुनिश्चित करें कि XPath और XQuery सही हैं।
प्रदर्शन परीक्षण वेब सेवा परीक्षण में सबसे आम महत्वपूर्ण चौकियों में से एक है। प्रदर्शन परीक्षण को कृत्रिम रूप से लोड बनाने या अनुकरण करने और मापने के रूप में परिभाषित किया जाता है कि पर्यावरण इसे कैसे संभालता है।
इसका मतलब यह नहीं है कि उच्च भार के तहत एक प्रणाली कैसे कार्य करती है यह आवश्यक नहीं है, यह भी हो सकता है कि यह आधार भार या अपेक्षित भार के तहत कैसा प्रदर्शन करता है। यह भी संरचित, स्वचालित, या Testapare जैसे SoapUI में बनाया जाना नहीं है; बस वेब ब्राउज़र को बार-बार बहुत तेज़ ताज़ा करना भी एक लोड टेस्ट है।
प्रदर्शन परीक्षण के प्रकार
प्रदर्शन परीक्षण के प्रकार निम्नलिखित हैं -
Baseline Testing - जांच करता है कि कोई सिस्टम अपेक्षित या सामान्य भार के तहत कैसा प्रदर्शन करता है और एक आधार रेखा बनाता है जिसके खिलाफ अन्य प्रकार के परीक्षणों की तुलना की जा सकती है।
Load Testing- इसमें लोड बढ़ाना शामिल है और देखें कि सिस्टम उच्च भार के तहत कैसे व्यवहार करता है। लोड टेस्ट के दौरान, उपयोगकर्ता प्रतिक्रिया समय, थ्रूपुट, सर्वर स्थिति और बहुत कुछ देख सकता है। लोड परीक्षण का लक्ष्य लक्ष्य वातावरण को तोड़ना नहीं है।
Soak Testing - परीक्षण का लक्ष्य यह सुनिश्चित करना है कि लंबे समय तक कोई अवांछित व्यवहार नहीं उभरता है।
Scalability Testing- स्केलेबिलिटी टेस्टिंग बहुत हद तक लोड टेस्टिंग की तरह है, हालांकि अनुरोधों की संख्या बढ़ाने के बजाय, यह भेजे गए अनुरोधों के आकार या जटिलता को बढ़ाता है। उदाहरण के लिए, बड़े अनुरोध, बड़े अनुलग्नक, या गहरी नेस्टेड अनुरोध भेजना।
वेब सेवा में मुख्य पहलू
वेब सेवा प्रदर्शन की अनूठी विशेषताओं में दो पहलू सामने आते हैं।
पहला पहलू
सर्वर की ओर, XML / JSON प्रसंस्करण चल रहा है, XML / JSON पार्सिंग और क्रमांकन दोनों । जो चीज़ अक्सर विफल हो जाती है वह है पेलोड का प्रसंस्करण। विफलता के कारणों में कई गुना हो सकता है; यह प्लेटफॉर्म, एप्लिकेशन सर्वर की कमजोरियों में हो सकता है या यह अनावश्यक रूप से जटिल डब्लूएसडीएल के आकार में एक कार्यान्वयन मुद्दा हो सकता है। इसका मतलब यह भी हो सकता है कि कोड एक डेटाबेस के लिए एक अनुरोध कर रहा है जो जवाब देने में धीमा है।
Testing Aspect- XML / JSON पेलोड को पार्स करने की जटिलता का मतलब है कि स्केलेबिलिटी परीक्षण पर अतिरिक्त ध्यान केंद्रित करने की आवश्यकता है। इसका यह भी अर्थ है कि डब्ल्यूएसडीएल की बारीकी से जांच की जानी चाहिए। यदि अनुरोध और प्रतिक्रियाएं या तो जटिल या बड़ी हैं, या यदि वे बड़े संलग्नक शामिल करते हैं, तो ध्यान जटिलता पर जोर देने पर होना चाहिए और देखें कि यह कैसे लोड के तहत व्यवहार करता है।
दूसरा पहलू
एक और पहलू जो अक्सर सामने आता है वह है सुरक्षा। HTTPS के पीछे की सुरक्षित साइटों का प्रदर्शन काफी कम है और वेब सेवा परीक्षण में हम HTTP सुरक्षा की परत में WSSecurity की एक परत जोड़ सकते हैं, जिससे प्रदर्शन और भी कम हो जाता है।
Testing Aspect- सुरक्षा के मुद्दे का मतलब है, अनुरोधों के परीक्षण पर ध्यान केंद्रित करने की आवश्यकता है जो सुरक्षित हैं। यदि संपूर्ण वेब सेवा सुरक्षित है तो इसका मतलब है लोड परीक्षण अधिक महत्वपूर्ण है, खासकर यदि WS- सुरक्षा और टोकन हैंडलिंग का उपयोग किया जाता है।
Load testingप्रदर्शन परीक्षण का एक विशिष्ट रूप है जो एक विशिष्ट भार के तहत प्रणाली के व्यवहार का आकलन करने के लिए आयोजित किया जाता है। SoapUI में, हम आम तौर पर सभी प्रकार के गैर-कार्यात्मक परीक्षण के लिए "लोड परीक्षण" शब्द का उपयोग करते हैं, हालांकि SoapUI लोड, तनाव और धीरज जैसी वेब सेवाओं के सभी प्रकार के प्रदर्शन आकलन का समर्थन करता है।
नोट करने के लिए अंक
SoapUI में लोड परीक्षण काफी अनूठा है; एक कार्यात्मक परीक्षण मामला जो प्रदर्शन परीक्षणों को जल्दी से बनाने और संशोधित करने की अनुमति देता है।
मुख्य अंतर यह है कि सोपुई में प्रदर्शन परीक्षण आम तौर पर मौजूदा कार्यात्मक परीक्षणों से बनाया जाता है। यह जल्दी से उन्नत प्रदर्शन परीक्षण बनाने की अनुमति देता है।
वेब सेवा प्रदर्शन को विभिन्न लोड परिदृश्यों के तहत मान्य किया जा सकता है। कार्यात्मक सत्यापन को बनाए रखने के लिए देखें कि वे लोड के तहत नहीं टूटते हैं, एक साथ कई लोड परीक्षण चलाते हैं यह देखने के लिए कि वे एक-दूसरे को कैसे प्रभावित करते हैं और बहुत कुछ।
लोड टेस्ट का निर्माण
Step 1 - फंक्शनल टेस्ट केस पर राइट-क्लिक करें और न्यू लोड टेस्ट चुनें।
Step 2 - लोड टेस्ट का नाम दर्ज करें और संवाद विज़ार्ड में ओके पर क्लिक करें।
लोड टेस्ट खुलेगा और लोड टेस्ट बनाया गया है जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है।
भार परीक्षण का निष्पादन
जब एक नया लोड टेस्ट बनाया जाता है, तो इसे सिंपल लोड रणनीति का उपयोग करके 5 थ्रेड्स के साथ 60 सेकंड (टॉप राईट) में चलाने के लिए पूर्व-निर्धारित किया जाता है।
आवश्यकता और भागो के अनुसार इन मूल्यों को संशोधित करें। Note - उपयोगकर्ता को लोड परीक्षण कॉन्फ़िगरेशन और अवधारणाओं के बारे में पता होना चाहिए।
उपयोगकर्ता डेटा एकत्र करने के साथ शुरुआत करने और 60 सेकंड के बाद समाप्त LoadTest होना चाहिए, बीच में सांख्यिकी तालिका देखेंगे।
जोर लगाना
Step 1 - लोडटेस्ट एडिटर में, संपादक के निचले हिस्से में लोडटेस्ट एश्योरेंस टैब का चयन करें।
Step 2 - एक जोर जोड़ने के लिए लोडटेस्ट अभिकथन मेन्यू बार में ऐसर्शन बटन जोड़ें पर क्लिक करें।
Step 3- Add Assertion डायलॉग खुलेगा। स्टेप मैक्सिमम सेलेक्ट करें। अधिकतम सेट करें मिलीसेकंड में अधिकतम समय सेट करें जो प्रतिक्रियाओं को लेने की अनुमति देता है, यदि समय हमारे द्वारा सेट किए गए समय से अधिक है, तो परीक्षण विफल हो जाएगा। ओके पर क्लिक करें।
Step 4- टेस्टस्टेप मैक्स अभिकथन विंडो खुलेगी। जैसा कि निम्नलिखित स्क्रीनशॉट में देखा गया है, हम एक सेकंड, 1000 मिलीसेकंड की अधिकतम प्रतिक्रिया की अनुमति देते हैं। चलो कुछ भी संशोधित नहीं है। ओके पर क्लिक करें।
स्टेप मैक्सिमम असेसमेंट अब सफलतापूर्वक जोड़ा जाएगा।
Step 5- अब दोबारा टेस्ट चलाएं। यदि प्रतिक्रियाएं बहुत अधिक समय लेती हैं, तो आपको गलत कॉलम में संख्याओं को जल्दी से जोड़ना चाहिए।
एक वेब सेवा खुले प्रोटोकॉल और मानकों का एक संग्रह है जिसका उपयोग अनुप्रयोगों या प्रणालियों के बीच डेटा के आदान-प्रदान के लिए किया जाता है। विभिन्न प्रोग्रामिंग भाषाओं में लिखे गए सॉफ़्टवेयर एप्लिकेशन और विभिन्न प्लेटफ़ॉर्म पर चलने वाले कंप्यूटर नेटवर्क पर डेटा का आदान-प्रदान करने के लिए वेब सेवाओं का उपयोग कर सकते हैं जैसे कि एक कंप्यूटर पर अंतर-प्रक्रिया संचार के समान इंटरनेट। यह इंटरऑपरेबिलिटी (उदाहरण के लिए, जावा और पायथन या विंडोज और लिनक्स अनुप्रयोगों के बीच) खुले मानकों के उपयोग के कारण है।
REST आर्किटेक्चर पर आधारित वेब सेवाओं को RESTful Web Services के रूप में जाना जाता है। ये वेब सेवाएँ REST आर्किटेक्चर की अवधारणा को लागू करने के लिए HTTP विधियों का उपयोग करती हैं। एक RESTful वेब सेवा आमतौर पर एक URI (यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर) को परिभाषित करती है, जो एक ऐसी सेवा है जो JSON जैसे संसाधन प्रतिनिधित्व और HTTP विधियों का एक सेट प्रदान करती है।
SoapUI की सभी REST परीक्षण क्षमताएँ तार्किक प्रतिनिधित्व पर आधारित हैं जिन्हें REST सेवा के रूप में जाना जाता है। हमें यहां "सेवा" शब्द के साथ इसे भ्रमित नहीं करना चाहिए, क्योंकि यह एक सेवा कार्यान्वयन नहीं है बल्कि रेस्टफुल सेवा का एक मानचित्रण है जिसे लागू किया जा रहा है। हम एक SoapUI प्रोजेक्ट में जितनी हो सके उतने REST सेवाएँ जोड़ सकते हैं। प्रत्येक एक विशेष सेवा का प्रतिनिधित्व करता है। वे इस प्रकार हैं -
REST - प्रोजेक्ट सेटअप
बाकी - WADL
बाकी - अनुरोध
बाकी - प्रतिक्रिया
REST - HTTP तरीके
SoapUI JDBC रिक्वेस्ट नामक टेस्टस्टेप का उपयोग करके डेटाबेस ऑपरेशन के प्रबंधन की अनुमति देता है।
Step 1 - TestStep पर राइट-क्लिक करें और Add Step → JDBC Request चुनें।
Step 2 - स्टेप नाम डालें और ओके पर क्लिक करें।
JDBC स्टेप जोड़ा गया है। डबल-क्लिक करें चरण, और JDBC विज़ार्ड खुल जाएगा।
JDBC कनेक्शन बनाने के लिए, उपयोगकर्ता को वैध ड्राइवर और कनेक्शन स्ट्रिंग प्रदान करने की आवश्यकता होती है। इन मापदंडों का उपयोग डेटाबेस के प्रकार की पहचान करने और डेटाबेस का उपयोग करने के लिए कनेक्शन बनाने के लिए किया जाता है।
MySQL के लिए, डेटाबेस ड्राइवर हो सकता है com.mysql.jdbc.Driver। इसी तरह, अन्य डेटाबेस के लिए, एक पूर्वनिर्धारित चालक है जो डेटाबेस के दस्तावेज़ अनुभाग द्वारा पाया जा सकता है।
Step 3 - कनेक्शन स्ट्रिंग निम्नलिखित प्रारूप में होनी चाहिए -
Jdbc:mysql://[host]:[port]/[database]?[property][=value]
यहां, प्रॉपर्टी उपयोगकर्ता नाम और पासवर्ड के साथ-साथ अन्य मापदंडों को डेटाबेस से जोड़ने के लिए आवश्यक है।
उदाहरण के लिए,
jdbc:mysql://localhost:8089/xxx_DB?user=root&password=root
Step 4- टेस्ट कनेक्शन पर क्लिक करें। सफल कनेक्शन पर, यह SUCCESS प्रदर्शित करेगा अन्यथा विफलता का विवरण प्रदान करेगा।
JDBC का अपना स्वयं का संपत्ति खंड है जिसे SQL क्वेरी में एक चर के रूप में उपयोग किया जा सकता है।
आइए देखें कि यह कैसा व्यवहार करता है -
मान लीजिए, JDBC चरण में प्रदर्शन करने की आवश्यकता वाले SQL क्वेरी का चयन करेंसी से करें जहाँ CurrencyCode = 'xxx' है।
इस परिदृश्य में, अनुरोध इनपुट के आधार पर CurrencyCode को बदला जा सकता है। यदि उपयोगकर्ता एक हार्ड-कोडित मूल्य प्रदान करता है, तो JDBC चरण अनुरोध में दी गई मुद्रा के लिए निष्पादित नहीं करेगा।
ऐसे परिदृश्यों को दूर करने के लिए, JDBC ऐड प्रॉपर्टी का समर्थन करता है, जहाँ एक प्रॉपर्टी कोड को परिभाषित किया जा सकता है और यह प्रॉपर्टी ट्रांसफर स्टेप का उपयोग करके बदलता रहेगा।
SQL क्वेरी प्रॉपर्टी कोड के मौजूदा मूल्य के आधार पर चलेगी और SQL क्वेरी करेंसी कोड =: कोड का मानकीकरण करेगी।
संपत्ति जोड़ें + और कोड के रूप में नाम पर क्लिक करें और मूल्य प्रदान करें या इसे प्रदान करने के लिए संपत्ति हस्तांतरण कदम का उपयोग करने के लिए खाली रखें।
JDBC अनुरोध SOAP अनुरोध टेस्टस्टेप्स के साथ अधिकांश अभिकथन का उपयोग भी कर सकता है। SoapUI में, इनमें से अधिकांश दावे टेस्टस्टेप्स से स्वतंत्र हैं। इसलिए, कंडेन्स और एक्सपीथ मैच जैसे दावे JDBC रिक्वेस्ट टेस्टस्टेप के साथ उपयोग किए जा सकते हैं।
क्लिक करके Add an assertion JDBC रिक्वेस्ट टेस्टस्टेप के शीर्ष मेनू पर आइकन, उपयोगकर्ता यह पता लगा सकता है कि टेस्टस्टेप द्वारा कौन-से दावे समर्थित हैं।
सामान्य अभिकथनों के अलावा, दो JDBC अनुरोध टेस्टस्टेप विशिष्ट दावे हैं -
JDBC Timeout - इस अभिकथन का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि वर्तमान SQL क्वेरी निर्दिष्ट क्वेरी टाइमआउट प्रॉपर्टी मान के भीतर निष्पादित की गई है या नहीं।
JDBC Status - यह जाँचने के लिए कि SQL स्टेटमेंट को सफलतापूर्वक निष्पादित किया गया है, हम JDBC स्टेटस का उपयोग कर सकते हैं।
क्वेरी टाइमआउट सेट करने के लिए, स्क्रीन के बाईं ओर प्रॉपर्टी क्वेरी टाइमआउट से संबंधित मान प्रदान करें। कृपया ध्यान रखें, यह मिलीसेकंड (एमएस) में मूल्य को स्वीकार करता है।