SoapUI में अभिकथन: स्क्रिप्ट, XQuery, XPath प्रकार ट्यूटोरियल
अभिकथन क्या है?
अभिकथन का अर्थ है किसी बात की पुष्टि करना या बताना। इसे चेक पॉइंट या सत्यापन बिंदु के रूप में भी समझा जा सकता है।
एक बार जब वेब सर्वर पर अनुरोध भेजा जाता है तो प्रतिक्रिया प्राप्त होती है। हमें यह सत्यापित करने की आवश्यकता है कि प्रतिक्रिया में वह डेटा है जिसकी हमें उम्मीद है। प्रतिक्रिया को सत्यापित करने के लिए, हमें दावे का उपयोग करने की आवश्यकता है।
अभिकथन के प्रकार
प्रतिक्रिया को पुष्ट करने के कई तरीके हैं; हालाँकि, हम प्रतिक्रिया को मान्य करते समय आमतौर पर इस्तेमाल किए जाने वाले SoapUI Assertions प्रकारों पर ध्यान केंद्रित करेंगे। नीचे वे हैं जो SoapUI के ओपन सोर्स संस्करण में उपलब्ध हैं।
- संपत्ति सामग्री
- अनुपालन स्थिति मानक
- लिपि
- एसएलए
- जेएमएस
- सुरक्षा

ऊपर सूचीबद्ध के अलावा, प्रो संस्करण में एक इनबिल्ट JDBC अभिकथन भी है, जिसका उपयोग करके हम यह पुष्टि कर सकते हैं कि वेब सेवा ने डेटाबेस को सही ढंग से अपडेट किया है या नहीं।
इसमें दावा शामिल है
निर्दिष्ट स्ट्रिंग के अस्तित्व की खोज करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है।
हम WSDL अनुरोध के साथ पिछले ट्यूटोरियल से समान उदाहरण जारी रखेंगे http://www.dneonline.com/calculator.asmx.
चरण १: डिफ़ॉल्ट रूप से कोई दावा नहीं है।
- अभिकथनों की संख्या अभिकथन टैब में दर्शाई गई है।
- नया अभिकथन जोड़ने के लिए 'नया अभिकथन जोड़ें' बटन पर क्लिक करें।
चरण १: अभी,
- अभिकथन श्रेणी का चयन करें.
- अभिकथन प्रकार का चयन करें.
- 'जोड़ें' पर क्लिक करें
चरण १: आइए सत्यापित करें कि क्या प्रतिक्रिया में स्ट्रिंग '46' मौजूद है। 'ओके' पर क्लिक करें
नोट: हम केस को अनदेखा भी कर सकते हैं और नियमित अभिव्यक्ति भी जोड़ सकते हैं।
चरण १: इसे जोड़ने पर, तुरंत अभिकथन निष्पादित हो जाता है और यह बताता है कि यह मान्य है या अमान्य।
चरण १: अब मान लीजिए कि हम 'Contains Assertion in SoapUI' की विषय-वस्तु को '47' में बदल देते हैं और देखते हैं क्या होता है।
चरण १: अभिकथन निष्पादित किया जाता है और परिणाम उपयोगकर्ता को दिया जाता है। चूँकि हमारे पास प्रतिक्रिया में स्ट्रिंग '47' नहीं है, इसलिए अभिकथन विफल हो गया है।
इसमें कोई दावा नहीं है
निर्दिष्ट स्ट्रिंग की गैर-मौजूदगी की खोज करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है।
चरण १: अब 'नए दावे जोड़ें' बटन पर क्लिक करने के बाद,
- अभिकथन श्रेणी का चयन करें.
- अभिकथन प्रकार का चयन करें – इस मामले में 'इसमें शामिल नहीं है'
- 'जोड़ें' पर क्लिक करें
चरण १: आइए सत्यापित करें कि प्रतिक्रिया में स्ट्रिंग 'intA' मौजूद है या नहीं। स्ट्रिंग 'FromCurrency' दर्ज करें और 'OK' पर क्लिक करें
चरण १: जैसे ही कोई दावा जोड़ा जाता है, यह निष्पादित होता है और परिणाम प्रदर्शित करता है। अब तक हमने दो दावे जोड़े हैं इसलिए दोनों दावे निष्पादित होते हैं और परिणाम प्रदर्शित करते हैं।
चरण १: अब आइए 'Not Contains Assertion' की सामग्री को बदलें और देखें कि क्या होता है। हम स्ट्रिंग “AddResult” की गैर-मौजूदगी की जाँच करेंगे।
5 कदम: स्ट्रिंग 'AddResult' वास्तव में प्रतिक्रिया में मौजूद है, इसलिए 'NOT Contains' दावा विफल हो जाएगा जैसा कि नीचे दिखाया गया है।
XPATH मिलान अभिकथन
का उपयोग करता है एक्सपाथ लक्ष्य नोड और उसके मानों का चयन करने के लिए अभिव्यक्ति। XPath, XML दस्तावेज़ से नोड्स का चयन करने के लिए एक XML क्वेरी भाषा है।
चरण १: अब 'नया दावा जोड़ें' बटन पर क्लिक करने के बाद,
- अभिकथन श्रेणी का चयन करें.
- अभिकथन प्रकार का चयन करें - इस मामले में 'XPath मिलान'
- 'जोड़ें' पर क्लिक करें
चरण १: XPath जोड़ें विंडो खुलती है.
SoapUI XPath जोड़ने से पहले, हमें नेमस्पेस घोषित करना होगा। XML नेमस्पेस नामों का एक संग्रह है, जिसे यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) संदर्भ द्वारा पहचाना जाता है, जिसका उपयोग XML दस्तावेज़ों में तत्व और विशेषता नामों के रूप में किया जाता है। SOAP UI XPath अभिकथन में भी इसका उपयोग किया जाता है।
XML नामस्थान घोषित करने के लिए, हमें केवल 'घोषणा' बटन पर क्लिक करना होगा जो हमारे लिए काम करेगा अन्यथा हम स्वयं भी मैन्युअल रूप से नामस्थान घोषित कर सकते हैं।
नामस्थान घोषित करने के बाद हमें निर्मित नामस्थान का उपयोग करके XPath को संदर्भित करना होगा।
'घोषणा' बटन पर क्लिक करने पर, दो नामस्थान पॉप अप होंगे क्योंकि हमारे पास दो URI हैं। उनमें से एक स्कीमा URL है और दूसरा वास्तविक वेब सेवा URL से मेल खाता है। XPath को संदर्भित करते समय हमें वास्तविक नामस्थान का उपयोग करने की आवश्यकता है जहाँ वेब सेवा स्थित है और स्कीमा नामस्थान का नहीं।
नामस्थान साबुन घोषित करें='http://schemas.xmlsoap.org/soap/envelope/';
नामस्थान ns1='http://tempuri.org/' घोषित करें;
चरण १: अब हमें उस XML नोड का XPath दर्ज करना होगा जिसे हमें सत्यापित करना है।
//ns1:AddResult हमें बीच में संलग्न नोड का मान देता है और और ns1 घोषित नामस्थान से मेल खाता है जो 'http://tempuri.org/' की ओर इशारा करता है
XML दर्ज करने के बाद, हमें 'वर्तमान से चयन करें' पर क्लिक करना होगा ताकि आगे तुलना के लिए वर्तमान प्रतिक्रिया से मान उठाया जा सके।
चरण १: अब तक,
- नामस्थान घोषित करने के बाद, हमने उस XML नोड का XPath प्रविष्ट कर दिया है जिसे हमें सत्यापित करना है।
- वर्तमान मान को अपेक्षित मान बनाने के लिए हमें 'वर्तमान से चयन करें' पर क्लिक करना होगा।
- वर्तमान मान उपयोगकर्ता को दिखाया जाता है जिसे हम आवश्यकता पड़ने पर संशोधित कर सकते हैं।
- 'सहेजें' पर क्लिक करें।
चरण १: SoapUI में जोड़ा गया Assertion नीचे दिखाए अनुसार प्रदर्शित किया जाएगा।
स्क्रिप्टिंग अभिकथन
यह अभिकथन तकनीक सबसे व्यापक रूप से प्रयोग की जाने वाली तकनीक है, क्योंकि सैकड़ों अभिकथनों का प्रबंधन और रखरखाव करना अत्यंत कठिन है।
SOAP UI या तो उपयोग करता है Groovy स्क्रिप्टिंग या Javaलिपि स्क्रिप्टिंग अभिकथन के लिए। स्क्रिप्टिंग तकनीक को SOAP के परीक्षण के लिए एक रूपरेखा विकसित करने के लिए अपनाया जाता है। स्क्रिप्टिंग अभिकथन का उपयोग निम्नलिखित परिस्थितियों में किया जाता है।
स्क्रिप्टिंग उपयोगकर्ता को क्रमशः सेट अप और टियर डाउन विधियों का उपयोग करके टेस्टकेस को निष्पादित करने से पहले और बाद में कुछ ऑपरेशन करने की अनुमति देता है। सेट अप एक प्रक्रिया है जो किसी विशेष विधि (उदाहरण - ऑब्जेक्ट निर्माण और आरंभीकरण) को निष्पादित करने से पहले निष्पादित की जाती है, जबकि टियर डाउन एक प्रक्रिया है जो विधि को निष्पादित करने के बाद निष्पादित की जाती है (उदाहरण: ऑब्जेक्ट को नष्ट करना और साफ़ करना)। यह सुविधा अन्य अभिकथन प्रकारों में उपलब्ध नहीं है और इसे केवल कोडिंग के माध्यम से किया जा सकता है।
यह उपयोगकर्ताओं को किसी प्रोजेक्ट को खोलने/बंद करने, प्रोजेक्ट से संबंधित सेटिंग्स को आरंभ करने या साफ करने तथा पर्यावरण चरों के साथ काम करने की अनुमति देता है, जो स्क्रिप्टिंग के दौरान बहुत सहायक होता है।
यह हमें गतिशील प्रतिक्रिया सामग्री प्रस्तुत करने में सहायता करता है।
स्क्रिप्टिंग अभिकथन का उपयोग उपयोगकर्ता द्वारा परिभाषित अभिकथन बनाने के लिए किया जाता है, जो SOAP UI द्वारा पूर्वनिर्धारित नहीं होते हैं।
SoapUI में स्क्रिप्ट अभिकथन के प्रदर्शन के लिए, हम कैलकुलेटर WSDL का उपयोग करेंगे, परीक्षण केस 'Add' जिसे हमने पहले बनाया था।
चरण १: ग्रूवी स्क्रिप्ट जोड़ने के चरण अन्य अभिकथनों के समान ही हैं, सिवाय इसके कि अभिकथन पूर्वनिर्धारित नहीं है। इसके बजाय यह एक उपयोगकर्ता परिभाषित अभिकथन है जो इनबिल्ट अभिकथनों की तुलना में अधिक लचीलापन प्रदान करता है।
उस परीक्षण चरण का चयन करें जिसके विरुद्ध अभिकथन जोड़ना है।
नीचे दिखाए अनुसार 'अभिकथन जोड़ें' बटन पर क्लिक करें।
चरण १: अब Assertion श्रेणी का चयन करें।
- इस मामले में यह स्क्रिप्ट है।
- SoapUI स्क्रिप्ट अभिकथन का चयन करें और इसके साथ कोई उप-प्रकार संबद्ध नहीं है।
- 'जोड़ें' पर क्लिक करें.
चरण १: स्क्रिप्टिंग डायलॉग खुलता है जहां उपयोगकर्ता प्रतिक्रिया XML को मान्य करने के लिए उपयोगकर्ता परिभाषित स्क्रिप्ट लिखने में सक्षम होगा।
चरण १: अब हम रूपांतरण दर को मान्य करने के लिए एक ग्रूवी स्क्रिप्ट लिखते हैं। स्क्रिप्ट नीचे संलग्न है और इसमें टिप्पणियाँ भी शामिल हैं। इस पर जानकारी होना अनुशंसित है Java स्क्रिप्ट या Groovy अपनी स्वयं की स्क्रिप्ट लिखने का प्रयास करने से पहले स्क्रिप्ट का अध्ययन अवश्य कर लें।
//Define Groovy Utils and holder for validating the XML reponse content def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def holder = groovyUtils.getXmlHolder(messageExchange.responseContent) //Define the NameSpace holder.namespaces["ns1"] = "http://tempuri.org/" //Get the Value of the Node 'AddResult' and assign to a variable def addResult = holder.getNodeValue("//ns1:AddResult") //print the value of the result in the Output panel log.info "The result value for integers is " + addResult //Comparing the value to print 'Pass' or 'Fail' if(addResult=="46") { log.info "Pass" } else { log.info "fail"}
- निष्पादन को ट्रिगर करने के लिए 'निष्पादित करें' बटन पर क्लिक करें।
- स्क्रिप्ट का आउटपुट आउटपुट पैन में दिखाया गया है। इसमें रूपांतरण मान और अंतिम परिणाम (पास या फेल) दोनों ही प्रिंट किए गए हैं।
- सूचना प्रदर्शित होती है कि 'स्क्रिप्ट अभिकथन पारित'। OK पर क्लिक करें।
नोट: अंतिम सूचना पॉप अप हमेशा 'स्क्रिप्ट अभिकथन पास' संदेश के साथ प्रदर्शित होगी जब तक कि स्क्रिप्ट वाक्यविन्यास की दृष्टि से सही हो। इसका स्क्रिप्ट में आपके अभिकथन से कोई संबंध नहीं है।
ठीक क्लिक करें
चरण १: अब अभिकथन टैब उन सभी अभिकथनों को प्रदर्शित करता है जिन्हें हमने इस परीक्षण सूट के लिए जोड़ा था, उनमें से प्रत्येक के विरुद्ध स्थिति के साथ।
चरण १: अभी
- नेविगेटर ट्री से टेस्ट सूट का चयन करें
- 'रन' बटन पर क्लिक करें
- संपूर्ण परीक्षण समूह के परिणाम प्रदर्शित किये जायेंगे।
Xquery मिलान अभिकथन
यह लक्ष्य प्रॉपर्टी से सामग्री का चयन करने के लिए Xquery अभिव्यक्ति का उपयोग करता है। SoapUI में XQuery अभिकथन को बेहतर ढंग से समझने के लिए हमें एक बहुत बड़े प्रतिक्रिया XML की आवश्यकता है। आइए नीचे दिखाए अनुसार एक अन्य WSDL आयात करें: http://www.webservicex.net/medicareSupplier.asmx?WSDL
चरण १: मौजूदा प्रोजेक्ट पर राइट क्लिक करें और 'WSDL जोड़ें' चुनें।
चरण १: मौजूदा प्रोजेक्ट पर राइट क्लिक करें और 'Add WSDL' चुनें। अन्य विकल्पों को डिफ़ॉल्ट के रूप में छोड़ दें और 'OK' बटन पर क्लिक करें।
चरण १: सभी ऑपरेशन नीचे दर्शाए अनुसार सूचीबद्ध हैं।
चरण १: अब हम इसमें एक और बात जोड़ते हैं परीक्षण का मामला उसी परीक्षण सूट के भीतर जिसे हमने बनाया था परीक्षण मुद्रा परिवर्तक.
चरण १: परीक्षण केस का नाम दर्ज करें और 'ओके' बटन पर क्लिक करें
चरण १: परीक्षण मामला नीचे दिखाए अनुसार बनाया गया है।
चरण १: जोड़ना
नीचे दिखाए अनुसार 'साबुन परीक्षण अनुरोध' प्रकार का एक नया परीक्षण चरण।
चरण १: परीक्षण चरण का नाम दर्ज करें। मान लें - Supplier_by_City जो अधिक सार्थक होगा 'OK' पर क्लिक करें।
चरण १: चयन Operaवह tion जिसे हम मान्य करना चाहते हैं। इस मामले में यह 'MedicareSupplierSoap -> GetSupplierByCity' है। 'OK' पर क्लिक करें।
चरण १: परीक्षण केस का नाम दर्ज करें और 'ओके' पर क्लिक करें।
चरण १: अनुरोध XML रूपरेखा नीचे दिखाए अनुसार प्रदर्शित होगी।
चरण १: अब आइए 'न्यूयॉर्क' शहर के लिए सभी आपूर्तिकर्ताओं की जानकारी प्राप्त करें।
ऐसा करने के लिए, अपने कोड में निम्नलिखित पंक्तियाँ जोड़ें।
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
नीचे दिए गए URL में WSDL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
चरण १: परीक्षण निष्पादित करने पर, हमें नीचे दी गई प्रतिक्रिया प्राप्त होती है
चरण १: मान लीजिए कि हमें सभी सप्लायर नंबर को वैलिडेट करने की आवश्यकता है। हम XPath Assertion का उपयोग नहीं कर सकते क्योंकि हमें सैकड़ों XPath Assertion की आवश्यकता है। इसलिए इस मामले में XQuery का उपयोग अपरिहार्य है।
XQuery अभिकथन हमें XML प्रतिक्रियाओं के एक समूह को मान्य करने में मदद करता है जो प्रकृति में दोहरावदार हैं।
चरण १: अब 'Add an assertion' पर क्लिक करें,
- इस मामले में 'अभिकथन श्रेणी' - संपत्ति सामग्री का चयन करें।
- अभिकथन प्रकार को 'XQuery अभिकथन' के रूप में चुनें
- 'जोड़ें' पर क्लिक करें.
चरण १: XPath Assertion के समान हमें नामस्थान घोषित करने की आवश्यकता है।
-
SOAP UI को स्वचालित रूप से नामस्थान घोषित करने की अनुमति देने के लिए 'घोषणा करें' बटन पर क्लिक करें। घोषणा बटन पर क्लिक करने पर उपयोगकर्ता को 'इसके बजाय स्कीमा से नामस्थान घोषित करें' संदेश के साथ एक 'पॉप अप' प्रदर्शित किया जाएगा। नीचे दिखाए अनुसार आगे बढ़ने के लिए 'हां' पर क्लिक करें।
नोट: 'घोषणा बटन' दबाने पर आपको नामस्थान घोषणा के रूप में भिन्न URL मिल सकते हैं, हालांकि, वास्तविक वेब सेवा स्थान नामस्थान ही वह है जिसे कोडिंग के लिए माना जाएगा।
- सभी आपूर्तिकर्ता संख्या को पुनः प्राप्त करने के लिए, हमें एक XPath क्वेरी लिखने की आवश्यकता है और हम इसे < SupplierNumber > के भीतर रखेंगे और टैग.
- 'वर्तमान से चयन करें' पर क्लिक करें जो वर्तमान प्रतिक्रिया से निष्पादित होगा।
- 'वर्तमान से चयन करें' पर क्लिक करने पर, सभी आपूर्तिकर्ता संख्या सूचीबद्ध हैं।
- 'सहेजें' पर क्लिक करें।
// Namespace declaration declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; declare namespace x = ''; // Placing the result in Myresult Tags{ // Iterating through all the supplier number for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData //Return all the Supplier number within ‘SupplierNumber’ Tags. return {data($x/ns1:SupplierNumber)} }
चरण १: XQuery Assertion निष्पादित होता है और नीचे दिखाए अनुसार 'Assertion' पैनल में अंतिम परिणाम प्रदर्शित करता है। अब हमने सफलतापूर्वक एक Xquery assertion जोड़ लिया है जिसका उपयोग करके हमने सभी आपूर्तिकर्ता संख्या जानकारी को मान्य किया है। हर बार जब अनुरोध वेबसर्वर को भेजा जाता है, तो इसकी तुलना वास्तविक के साथ की जाएगी।
नोट: वास्तविक मान प्रदर्शित नहीं किए जाएँगे। यदि सभी वास्तविक मान अपेक्षित मानों के समान हैं, तो यह VALID प्रदर्शित करेगा अन्यथा यह 'विफल' प्रदर्शित करेगा।
इनबिल्ट एश्योरेंस का उपयोग कब करें?
- जब कोई प्रतिक्रिया इतनी छोटी होती है कि उसे इनबिल्ट कथनों में से किसी एक का उपयोग करके सत्यापित किया जा सकता है।
- यदि वेब सर्वर से भेजी गई प्रतिक्रिया हमेशा स्थिर प्रकृति की होती है, तो हम इनबिल्ट अभिकथन का भी उपयोग कर सकते हैं। यदि यह गतिशील है, तो हम इनबिल्ट अभिकथन का उपयोग करके इसे अभिकथन नहीं कर पाएंगे।
- जब टाइम आउट एश्योरेंस और सुरक्षा एश्योरेंस जैसे अंतर्निहित एश्योरेंस का उपयोग अपरिहार्य हो जाता है।
- इनबिल्ट एश्योरेंस एक बार के प्रयोग के लिए काफी अच्छा है, जहां परीक्षणों को दोहराने की आवश्यकता नहीं होती।
अभिकथन विकल्प
निर्मित अभिकथनों को नीचे दर्शाए गए नियंत्रण पैनल की सहायता से सर्वोत्तम रूप से नियंत्रित किया जा सकता है।
निर्मित अभिकथन परीक्षकों को अभिकथन टूलबॉक्स से निम्नलिखित चीजों को कॉन्फ़िगर करने की अनुमति देते हैं।
विकल्प | विवरण |
---|---|
|
चयनित अभिकथन क्रम में ऊपर चला जाता है। |
|
चयनित अभिकथन क्रम में नीचे चला जाता है। |
|
चयनित अभिकथन को हटाता है |
|
चयनित अभिकथन को पुनः कॉन्फ़िगर/संपादित करें। |
- नीचे SOAP UI के PRO संस्करण में विशेष रूप से उपलब्ध सुविधाएँ दी गई हैं। PRO संस्करण हमें दावे को समूहीकृत करने में भी मदद करता है ताकि हम बनाए गए दावों में सत्यापन की एक और परत जोड़ सकें।
- प्रो संस्करण भी अनुमति देता है कथनों की क्लोनिंग: यह विकल्प परीक्षकों को एक ही या किसी अन्य परियोजना में एक अलग परीक्षण चरण में एक अभिकथन की प्रतिलिपि बनाने की अनुमति देता है।
- अभिकथन अक्षम/सक्षम करें: यह विकल्प किसी भी समूहीकृत या असमूहीकृत अभिकथन को अक्षम या सक्षम करने की अनुमति देता है। यदि कोई अभिकथन अक्षम है, तो वह धूसर हो जाता है और जब कोई परीक्षण केस निष्पादित होता है, तो अक्षम अभिकथन निष्पादित नहीं होंगे।
- अभिकथनों को समूह से अलग करना: यदि परीक्षक ऐसा करने का निर्णय लेते हैं तो किसी भी समूहीकृत अभिकथन को समूह से अलग किया जा सकता है।
तथा: सभी कथनों का मूल्यांकन वैध कथन के रूप में किया जाता है, जिसके परिणामस्वरूप समूह स्थिति उत्तीर्ण होगी। अथवा: समूह की उत्तीर्ण स्थिति को प्रमाणित करने के लिए समूह के भीतर कम से कम एक कथन वैध होना चाहिए।
विभिन्न अभिकथन प्रकारों में उपलब्ध विधियों की पूरी सूची
अभिकथन तंत्र |
विवरण |
संपत्ति सामग्री | |
शामिल हैं | निर्दिष्ट स्ट्रिंग के अस्तित्व की खोज करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है। |
इसमें शामिल नहीं है | निर्दिष्ट स्ट्रिंग की गैर-मौजूदगी की खोज करता है। यह नियमित अभिव्यक्ति का भी समर्थन करता है। |
XPath मिलान | लक्ष्य नोड और उसके मानों का चयन करने के लिए XPath अभिव्यक्ति का उपयोग करता है। |
XQuery मिलान | लक्ष्य संपत्ति से सामग्री का चयन करने के लिए Xquery अभिव्यक्ति का उपयोग करता है। |
अनुपालन , स्थिति , मानक | |
HTTP सभी संसाधन डाउनलोड करें | डाउनलोड करने के बाद HTML दस्तावेज़ को मान्य करता है और यह HTML युक्त किसी भी संपत्ति के लिए अच्छा है। |
अमान्य HTTP स्थिति कोड | सत्यापित करता है कि HTML प्रतिक्रिया में कोई स्थिति कोड है जो परिभाषित कोडों की सूची में नहीं है। |
SOAP दोष नहीं | सत्यापित करता है कि अंतिम प्राप्त संदेश SOAP दोष तो नहीं है। यह बहुत स्पष्ट है कि यह केवल SOAP परीक्षण चरणों के लिए ही लागू है। |
स्कीमा अनुपालन | सत्यापित करता है कि अंतिम प्राप्त संदेश WSDL या WADL मानक स्कीमा परिभाषा के अनुरूप है या नहीं। SOAP और REST परीक्षण चरणों के लिए उपयुक्त है। |
SOAP दोष | सत्यापित करता है कि क्या अंतिम प्राप्त संदेश SOAP दोष है। यह 'NOT SOAP' दोष कथनों का विपरीत है। |
SOAP प्रतिक्रिया | सत्यापित करता है कि क्या अंतिम प्राप्त प्रतिक्रिया एक वैध SOAP प्रतिक्रिया है और केवल SOAP परीक्षण अनुरोध चरणों के लिए ही मान्य है। |
मान्य HTTP स्थिति कोड | सत्यापित करता है कि HTML प्रतिक्रिया में कोई स्थिति कोड है या नहीं जो परिभाषित कोड की सूची में है। यह 'अमान्य HTTP स्थिति कोड' अभिकथन का विपरीत है। |
WS-एड्रेसिंग अनुरोध | सत्यापित करता है कि अंतिम प्राप्त अनुरोध में उपयुक्त WS-एड्रेसिंग हेडर शामिल हैं या नहीं। |
WS-एड्रेसिंग प्रतिक्रिया | सत्यापित करता है कि अंतिम प्राप्त प्रतिक्रिया में उपयुक्त WS-एड्रेसिंग हेडर शामिल हैं या नहीं। |
WS-सुरक्षा स्थिति | यह सत्यापित करता है कि अंतिम प्राप्त संदेश में वैध WS-Security हेडर है या नहीं, तथा यह केवल SOAP अनुरोधों के लिए मान्य है। |
लिपि | |
स्क्रिप्ट अभिकथन | उपयोगकर्ताओं को उपयोगकर्ता परिभाषित सत्यापन करने के लिए एक कस्टम स्क्रिप्ट निष्पादित करने की अनुमति देता है। |
एसएलए | |
प्रतिक्रिया एसएलए | यह सत्यापित करता है कि अंतिम प्राप्त प्रतिक्रिया का प्रतिक्रिया समय निर्धारित सीमा के भीतर था या नहीं। |
जेएमएस | |
जेएमएस स्थिति | सत्यापित करता है कि परीक्षण चरण का JMS अनुरोध सफलतापूर्वक निष्पादित हुआ है या नहीं और क्या यह JMS समापन बिंदु वाले परीक्षण चरणों के लिए सही है। |
जेएमएस टाइमआउट | सत्यापित करता है कि परीक्षण चरण की JMS प्रतिक्रिया निर्दिष्ट अवधि से अधिक समय नहीं लेती है। |
सुरक्षा | |
संवेदनशील सूचना एक्सपोज़र | सत्यापित करता है कि प्रतिक्रिया संदेश लक्ष्य सिस्टम के बारे में संवेदनशील जानकारी को उजागर नहीं करता है। हम इस अभिकथन का उपयोग REST, SOAP और HTTP परीक्षण चरणों के लिए कर सकते हैं। |
उपरोक्त कथनों वाले SOAPUI प्रोजेक्ट को डाउनलोड करें
सामान्य त्रुटियाँ और समस्या निवारण
सही नामस्थान का उपयोग करें। नामस्थान वह URL होना चाहिए जहाँ वेब सेवा स्थित है।
यदि स्क्रिप्टिंग अभिकथन विकसित करते समय कोई त्रुटि उत्पन्न होती है, तो चरों की सामग्री को प्रिंट करने के लिए 'log.info' का उपयोग करें
यदि आपको वांछित आउटपुट नहीं मिला है, तो सत्यापित करें कि अनुरोध में कोई वैध इनपुट दिया गया है या नहीं।
उदाहरण के लिए, मुद्रा परिवर्तक में, यदि आप 'intA' को 'x' के रूप में इनपुट करते हैं, जो कि पूर्णांक नहीं है, तो आउटपुट में 'SOAP-Client' के रूप में एक त्रुटि कोड प्रदर्शित होता है, जिसका अर्थ है कि समस्या उस पैरामीटर के साथ है, जिसे क्लाइंट की ओर से पास किया जा रहा है।
सुनिश्चित करें कि आप XPATH और XQuery अभिकथन का उपयोग करते समय सही सिंटैक्स का उपयोग करें। उपरोक्त अभिकथन का उपयोग करते समय आपको कोलन(:) के बजाय डॉट(.) का उपयोग नहीं करना चाहिए। सिंटैक्स //namespace:Tagname है और //namespace.tagname नहीं है। ऐसा करने से, आपको यह संदेश मिल सकता है कि 'वर्तमान प्रतिक्रिया में कोई मिलान नहीं है' भले ही टैग नाम सही हो।