वेब सेवा परीक्षण ट्यूटोरियल: परीक्षण कैसे करें? उदाहरण के साथ सीखें

वेबसर्विस क्या है?

वेब सेवाएं वह तंत्र या संचार का माध्यम है जिसके माध्यम से दो अनुप्रयोग/मशीनें अपनी आधारभूत संरचना और प्रौद्योगिकी से परे डेटा का आदान-प्रदान करती हैं।

वेब सेवा परीक्षण क्या है?

वेब सेवा परीक्षण एक प्रकार का सॉफ़्टवेयर परीक्षण है जो वेब सेवाओं को मान्य करता है। वेब सेवा परीक्षण का उद्देश्य API (एप्लिकेशन प्रोग्राम इंटरफ़ेस) की कार्यक्षमता, विश्वसनीयता, प्रदर्शन और सुरक्षा की जाँच करना है। वेब सेवा परीक्षण कुछ मामलों में यूनिट परीक्षण के समान है। आप मैन्युअल रूप से वेब सेवा का परीक्षण कर सकते हैं या अपना स्वयं का स्वचालन कोड बना सकते हैं या किसी ऑफ़-द-शेल्फ़ स्वचालन उपकरण का उपयोग कर सकते हैं जैसे Postman.

वेबसर्विस की आवश्यकता क्यों है?

सामान्यतः, सॉफ्टवेयर अनुप्रयोगों को मानव द्वारा उपयोग के लिए विकसित किया जाता है, जहां एक व्यक्ति सॉफ्टवेयर सेवा को अनुरोध भेजता है, जो बदले में मानव-पठनीय प्रारूप में प्रतिक्रिया देता है।

प्रौद्योगिकी के आधुनिक युग में यदि आप कोई सॉफ्टवेयर एप्लीकेशन बनाना चाहते हैं तो आपको हर चीज को शुरू से बनाने की जरूरत नहीं है। बहुत सारी तैयार सेवाएँ उपलब्ध हैं जिन्हें आप अपने एप्लीकेशन में प्लग कर सकते हैं और आप अपने एप्लीकेशन में उन सेवाओं को प्रदान करना शुरू कर सकते हैं।

उदाहरण के लिए, यदि आप मौसम पूर्वानुमान की जानकारी प्रदर्शित करना चाहते हैं, तो आपको अपने एप्लिकेशन में डेटा एकत्र करने, संसाधित करने और प्रस्तुत करने की आवश्यकता नहीं है। आप उन लोगों से सेवाएँ खरीद सकते हैं जो पहले से ही इस तरह के डेटा को संसाधित करने और प्रकाशित करने में अच्छी तरह से स्थापित हैं।

वेब सेवाएं हमें इस प्रकार के कार्यान्वयन करने की अनुमति देती हैं।

उदाहरण के तौर पर, निम्नलिखित वेबसर्विस पर विचार करें

http://www.webservicex.net/stockquote.asmx?op=GetQuote

यह किसी कंपनी के लिए शेयर मूल्य बताता है।

आइए गूगल के शेयर मूल्य का पता लगाएं (प्रतीक: GOOG)

वेब सेवा परीक्षण

प्रतिक्रिया XML स्टॉक मूल्य देता है।

वेब सेवा परीक्षण

इस वेबसर्विस को SOAP या HTTP प्रोटोकॉल का उपयोग करके सॉफ्टवेयर एप्लिकेशन द्वारा कॉल किया जा सकता है।

वेब सेवा प्रोटोकॉल

वेब सेवाओं को विभिन्न तरीकों से क्रियान्वित किया जा सकता है, लेकिन निम्नलिखित दो लोकप्रिय कार्यान्वयन दृष्टिकोण हैं।

  1. SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल)
  2. REST (प्रतिनिधित्वात्मक राज्य स्थानांतरण वास्तुकला)

सोप

SOAP वेब सेवा अनुरोधों और प्रतिक्रियाओं को भेजने और प्राप्त करने के लिए W3C मानक द्वारा परिभाषित एक मानक प्रोटोकॉल है।

SOAP का उपयोग करता है अनुरोध भेजने और प्राप्त करने के लिए XML प्रारूप और इसलिए डेटा प्लेटफ़ॉर्म स्वतंत्र डेटा है। SOAP संदेशों का आदान-प्रदान प्रदाता अनुप्रयोगों और SOAP लिफ़ाफ़े के भीतर प्राप्त करने वाले अनुप्रयोगों के बीच होता है।

चूंकि SOAP सरल http ट्रांसपोर्ट प्रोटोकॉल का उपयोग करता है, इसलिए इसके संदेश फायरवॉल द्वारा अवरुद्ध नहीं होते हैं।

बाकी

REST का मतलब है REpresentational State Transfer; यह एक आर्किटेक्चर है जो आम तौर पर HTTP पर चलता है। REST स्टाइल क्लाइंट और सेवाओं के बीच इंटरैक्शन पर जोर देता है, जिसे सीमित संख्या में ऑपरेशन करके बढ़ाया जाता है। REST SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) का एक विकल्प है और अनुरोध के लिए XML का उपयोग करने के बजाय REST कुछ मामलों में सरल URL का उपयोग करता है। SOAP के विपरीत, RESTFUL एप्लिकेशन मेटा-सूचना ले जाने के लिए HTTP बिल्ड इन हेडर का उपयोग करता है।

ऐसे कई कोड हैं जिनका उपयोग REST यह निर्धारित करने के लिए करता है कि उपयोगकर्ता के पास API तक पहुँच है या नहीं, जैसे कोड 200 या 201 प्रतिक्रिया बॉडी के साथ सफल इंटरैक्शन को इंगित करता है जबकि 400 एक खराब अनुरोध को इंगित करता है या अनुरोध URI सिस्टम में API से मेल नहीं खाता है। सभी API अनुरोध पैरामीटर और विधि पैरामीटर या तो के माध्यम से भेजे जा सकते हैं पोस्ट or GET चर।

रेस्ट एपीआई वेबसर्विस एपीआई परीक्षण के लिए XML और JSON दोनों प्रारूपों का समर्थन करता है। इसे आमतौर पर इसके लिए पसंद किया जाता है मोबाइल और वेब ऐप्स क्योंकि यह ऐप को तेज़ और सुचारू रूप से काम करता है

डबल्यूएसडीएल

WSDL (वेब ​​सेवाएँ Descriptआयन भाषा) एक XML आधारित भाषा है जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं का वर्णन करने के लिए किया जाएगा।

WSDL XML प्रारूप में किसी विशेष वेब सेवा द्वारा प्रस्तुत सभी कार्यों का वर्णन करता है। यह यह भी परिभाषित करता है कि सेवाओं को कैसे कॉल किया जा सकता है, यानी हमें कौन सा इनपुट मान प्रदान करना है और प्रत्येक प्रकार की सेवा के लिए यह किस प्रकार की प्रतिक्रिया उत्पन्न करेगा।

वेब सेवा का परीक्षण कैसे करें?

वेब सेवा का परीक्षण करने के लिए, आप यह कर सकते हैं

  1. मैन्युअल रूप से परीक्षण करें
  2. अपना स्वयं का स्वचालन कोड बनाएं
  3. SoapUI जैसे किसी तैयार स्वचालन उपकरण का उपयोग करें।

वेब सेवा स्वचालन परीक्षण में निम्नलिखित चरण शामिल हैं –

  1. WSDL फ़ाइल को समझें
  2. उन परिचालनों का निर्धारण करें जो विशेष वेब सेवा प्रदान करती है
  3. वह XML अनुरोध प्रारूप निर्धारित करें जिसे हमें भेजना है
  4. प्रतिक्रिया XML प्रारूप निर्धारित करें
  5. अनुरोध भेजने और प्रतिक्रिया को मान्य करने के लिए टूल का उपयोग करना या कोड लिखना

मान लीजिए कि हम मुद्रा रूपांतरण सुविधा प्रदान करने वाली वेब सेवा का परीक्षण करना चाहते हैं। यह विभिन्न देशों की मुद्रा के बीच मौजूदा रूपांतरण दरों को दर्शाएगा। इस सेवा का उपयोग हम अपने अनुप्रयोगों में एक मुद्रा से दूसरी मुद्रा में मूल्यों को परिवर्तित करने के लिए कर सकते हैं।

अब ऊपर दिए गए चरणों पर नजर डालते हैं

चरण 1 से 4: WSDL को समझना और संचालन एवं XML प्रारूपों का निर्धारण करना

मुद्रा Convertor WSDL फ़ाइल देखी जा सकती है @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) जो मुद्रा के बारे में जानकारी देगा Convertoवेब सेवा के कौन से तरीके इसका समर्थन करेंगे, कौन सा पैरामीटर हमें पास करना होगा और पैरामीटर का प्रकार... आदि।

WSDL और संचालन एवं XML प्रारूपों का निर्धारण

WSDL और संचालन एवं XML प्रारूपों का निर्धारण

चरण 5: अनुरोध भेजने और प्रतिक्रिया को मान्य करने के लिए टूल का उपयोग करना या कोड लिखना

SOAP वेब सेवा का परीक्षण करने के लिए बहुत सारे WebService Test उपकरण उपलब्ध हैं। SoapUI सबसे लोकप्रिय में से एक है। एपीआई उपकरण जो हमें SOAP वेब सेवाओं का परीक्षण करने में मदद करेगा। वास्तव में आप किसी भी प्रोग्रामिंग भाषा का उपयोग कर सकते हैं जो http पर वेब सेवा प्रदाता एप्लिकेशन को XML अनुरोध भेजने में सक्षम है और अपेक्षित परिणाम के विरुद्ध प्रतिक्रिया XML को पार्स और मान्य करने में सक्षम है। इस वेब सेवा परीक्षण ट्यूटोरियल में, हम वेब सेवा का परीक्षण करेंगे

  1. का प्रयोग Java
  2. SoapUI का उपयोग करना

भाग 1) अपाचे एक्सिस2 एपीआई का उपयोग करके वेब सेवा परीक्षण (Java).

आम तौर पर वेब सेवा अनुरोध लेती है और XML प्रारूप में प्रतिक्रिया भेजती है।

अपाचे एक्सिस2 एपीआई परियोजना एक है Java कार्यान्वयन एपीआई, जिसका उपयोग सर्वर साइड (सेवा प्रदाता) और क्लाइंट साइड (सेवा उपभोक्ता) दोनों के लिए वेब सेवाएं बनाने के लिए किया जाएगा।

Axis2 SOAP संदेश भेजने में सक्षम है और SOAP संदेशों को प्राप्त करता है और संसाधित करता है। हम एक छोटा सा लिख ​​सकते हैं Java वेब सेवा बनाने के लिए API का उपयोग करने वाला प्रोग्राम। Axis2 WSDL को उत्पन्न करेगा Java प्रोग्राम जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं को संप्रेषित करने के लिए किया जाएगा। हम उसी Axis2 का उपयोग करके इसे उत्पन्न कर सकते हैं Java WSDL फ़ाइल से क्लास (स्टब) जिसे हम वेब सेवा अनुरोध उत्पन्न करने, सेवा अंत बिंदु पर अनुरोध भेजने और प्रतिक्रिया को संसाधित करने के लिए क्लाइंट प्रोग्राम के रूप में उपयोग कर सकते हैं।

  1. मूलतः हम एक सरल सा प्रारूप बनाएंगे Java प्रोग्राम जिसमें हम स्टब क्लास को इन्स्टेन्सिएट करेंगे।
  2. स्टब का उपयोग करके हम सभी आवश्यक जानकारी पास करके अनुरोध विधि को लागू करेंगे।
  3. स्टब प्रोग्राम उस अनुरोध को XML अनुरोध प्रारूप में परिवर्तित कर देगा और उसे सेवा अंत बिंदु पर भेज देगा जो अनुरोध को पढ़ेगा और अनुरोध को संसाधित करेगा और प्रतिक्रिया को XML प्रारूप में भेजेगा।
  4. XML प्रतिक्रिया को परिवर्तित किया जाएगा Java स्टब द्वारा क्लास को हटाकर वास्तविक प्रोग्राम पर वापस लाया गया।

आइये उपरोक्त चरणों को विस्तार से देखें

चरण a) axis2 API डाउनलोड करें @ https://axis.apache.org/axis2/Java/core/download.cgi & पर्यावरण चर 'AXIS2_HOME' सेट करें

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

चरण b) सभी उत्पन्न कलाकृतियों को रखने के लिए एक फ़ोल्डर बनाएँ

उदाहरण : C:\Axis\Projects\CurrencyConverter

चरण c) कमांड प्रॉम्प्ट खोलें और उस फ़ोल्डर संरचना पर जाएँ जहाँ आप आर्टिफैक्ट्स उत्पन्न करना चाहते हैं और निम्न कमांड चलाएँ जो स्टब्स उत्पन्न करेगा

%AXIS2_HOME%\bin\WSDL2Java -यूरी http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb –s

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

चरण d) एक बार कमांड सफलतापूर्वक चलने पर, आपको आवश्यक फ़ाइलों वाला फ़ोल्डर दिखाई देगा।

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

चरण ई) इस वेब सेवा परीक्षण ट्यूटोरियल के अगले चरण में, हमें क्लाइंट प्रोग्राम बनाना होगा, जिसके माध्यम से हम जेनरेट किए गए स्टब्स का उपयोग करके वास्तविक अनुरोध भेजेंगे। एक्लिप्स खोलें और नया बनाएँ Java प्रोजेक्ट पर क्लिक करें और उस फ़ोल्डर का चयन करें जिसे हमने ऊपर बनाया है।

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

चरण f) सभी axis2 से संबंधित jars को प्रोजेक्ट बिल्ड पथ में जोड़ें, जो axis2 सॉफ्टवेयर फ़ोल्डर के lib फ़ोल्डर में होगा

(उदाहरण के लिए : C:\Axis\axis2-1.6.2\lib)

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

चरण g) एक नया बनाएँ Java क्लास (उदाहरण: क्लाइंट.Java) और स्टब ऑब्जेक्ट को इंस्टेंटिएट करें। स्टब ऑब्जेक्ट का उपयोग करके हम विशेष वेबसर्विस के सभी समर्थित तरीकों को कॉल कर सकते हैं।

अपाचे एक्सिस2 एपीआई का उपयोग करके वेबसर्विस परीक्षण (Java)

Client.Java Program
package org.apache.axis2.currencyconvertor;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;

public class Client {
 public static void main(Java.lang.String args[]) {

  try {

       //Create the stub object by passing the service end point url
       CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx");
       //ConversionRate is the class which we have to use mention the from and to currency
       //ConversionRate object will be the parameter for the conversionRate operation
       ConversionRate conversionRate = new ConversionRate();
       conversionRate.setFromCurrency(Currency.USD);
       conversionRate.setToCurrency(Currency.INR);

       //Create the ConversionRateResponse object, which is going to be used to catch the response
       //call the conversionRate service using the stub object
       ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate);

       //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service
       System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult());

       } catch (Exception e) {
       e.printStackTrace();
      }
    }
}

भाग 2) SoapUI वेब सेवा का उपयोग करके परीक्षण कैसे करें

SoapUI में

  1. फ़ाइल > नया सोप प्रोजेक्ट पर जाएँ
  2. प्रोजेक्ट का नाम और WSDL URI स्थान दर्ज करें
  3. ठीक क्लिक करें

SoapUI वेब सेवा का उपयोग करके परीक्षण करें

  1. पहले अनुरोध का विस्तार करें और 'Request1' पर डबल क्लिक करें। यह XML प्रारूप में SOAP अनुरोध प्रदर्शित करेगा।
  2. से मुद्रा और तक मुद्रा दर्ज करें
  3. सबमिट बटन पर क्लिक करें
  4. प्रतिक्रिया XML दाएँ तरफ के फलक पर प्रदर्शित किया जाएगा।

SoapUI वेब सेवा का उपयोग करके परीक्षण करें

जैसा कि आप निष्कर्ष निकाल सकते हैं, SoapUI जैसे WebService Test टूल का उपयोग आपके वेब सेवा स्वचालन परीक्षण प्रयास को गति देता है। इसलिए SoapUi आगामी ट्यूटोरियल में हमारे सीखने का केंद्र होगा।

सारांश

  • सॉफ्टवेयर अनुप्रयोग वेबसर्विस का उपयोग करके एक दूसरे के साथ संचार और डेटा का आदान-प्रदान करते हैं
  • SOAP और REST वेबसर्विस बनाने के लिए दो लोकप्रिय प्रोटोकॉल हैं
  • SOAP XML आधारित डेटा एक्सचेंज का समर्थन करता है
  • REST वेबसर्विस API परीक्षण के लिए XML, JSON या सरल URL में डेटा के आदान-प्रदान का समर्थन करता है।
  • WSDL XML आधारित भाषा है जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं का वर्णन करने के लिए किया जाएगा। SOAP को WSDL का उपयोग करके परिभाषित किया गया है।
  • WebService का परीक्षण करने के लिए आप निम्न कार्य कर सकते हैं:
    • अपना खुद का कोड बनाएं। उदाहरण के लिए Axis2 API का उपयोग करें Java
    • SoapUI जैसे वेबसर्विस टेस्ट ऑटोमेशन टूल का उपयोग करें
  • SoapUI जैसे स्वचालन उपकरण आपके वेब सेवा स्वचालन परीक्षण प्रयासों को गति प्रदान करेंगे, Axis2 API का उपयोग करके अपना स्वयं का कोड बनाने की तुलना में कम कोडिंग प्रयास की आवश्यकता होगी

सामान्य प्रश्न

वेब सेवा वेब एपीआई
W3C द्वारा परिभाषित, सभी संचार और डेटा एक्सचेंज XML पर आधारित हैं वेब एपीआई संचार और डेटा एक्सचेंज XML, JSON या सादा डेटा हो सकता है
इसके मानक निर्धारित हैं – WSDL कोई निर्धारित मानक नहीं
आप डेटा को संपीड़ित नहीं कर सकते लेकिन आप HTML अनुरोध को संपीड़ित कर सकते हैं आप डेटा को संपीड़ित कर सकते हैं
उदाहरण: साबुन उदाहरण: REST

इस बारे में अधिक जानें वेब एपीआई परीक्षण

यह वेब सेवा परीक्षण ट्यूटोरियल श्री नरेन्द्र रेड्डी नुकाला के योगदान से संभव हुआ है