Урок за тестване на уеб услуги: Как да тествате? Научете с пример

Съдържание:

Anonim

Какво е WebService?

Уеб услугите са механизмът или средство за комуникация, чрез които две приложения / машини ще обменят данните независимо от подчертаната им архитектура и технология.

Какво е тестване на уеб услуги?

Тестване на уеб услуги е вид софтуерно тестване, което валидира уеб услугите. Целта на тестването на уеб услуги е да провери функционалността, надеждността, производителността и сигурността на API (интерфейс на приложната програма). Тестване на уеб услуги е подобно на тестване на модули в някои случаи. Можете да тествате ръчно уеб услуга или да създадете свой собствен код за автоматизация или да използвате автоматичен инструмент за автоматизация като Postman.

Защо е необходима WebService?

Като цяло са разработени софтуерни приложения, които да се консумират от хората, когато човек изпраща заявка до софтуерна услуга, която от своя страна връща отговор в четлив за човека формат.

В съвременната технологична ера, ако искате да създадете софтуерно приложение, не е нужно да създавате всичко и всичко от нулата. Има много готови услуги, които можете да включите във вашето приложение и можете да започнете да предоставяте тези услуги във вашето приложение.

Например искате да покажете информация за прогнозата за времето, която не е необходимо да събирате, обработвате и изобразявате данните във вашето приложение. Можете да закупите услугите от хората, които вече са се утвърдили в обработката и публикуването на такъв вид данни.

Уеб услугите ни позволяват да правим този вид внедряване.

Като пример, разгледайте следния WebService

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

Това дава стойност на акциите за компания.

Нека намерим цената на акциите за Google (Символ: GOOG)

Отговорът XML дава цената на акциите.

Тази WebService може да бъде извикана от софтуерно приложение, използващо SOAP или HTTP протокол.

Протоколи за уеб услуги

Уеб услугите могат да бъдат внедрени по различни начини, но следните два са популярните подходи за внедряване.

  1. SOAP (Прост протокол за достъп до обекти)
  2. REST (Представителна архитектура за държавен трансфер)

САПУН

SOAP е стандартен протокол, дефиниран от стандарта W3C за изпращане и получаване на заявки и отговори за уеб услуги.

SOAP използва XML формат за изпращане и получаване на заявката и следователно данните са независими от платформата данни. SOAP съобщенията се обменят между приложенията на доставчика и получаващи приложения в SOAP пликовете.

Тъй като SOAP използва простия протокол за транспортиране на http, неговите съобщения не се блокират от защитните стени.

ПОЧИВКА

REST означава представяне на държавен трансфер; това е архитектура, която обикновено работи над HTTP. Стилът REST подчертава взаимодействията между клиенти и услуги, които се подобряват с ограничен брой операции. REST е алтернатива на SOAP (Simple Object Access Protocol) и вместо да използва XML за заявка REST използва прост URL в някои случаи. За разлика от SOAP, RESTFUL приложенията използват HTTP вградени заглавки за пренасяне на метаинформация.

Има различни кодове, които REST използват, за да определят дали потребителят има достъп до API или не, като код 200 или 201 показва успешно взаимодействие с тялото на отговора, докато 400 показва лоша заявка или URI на заявката не съответства на API в системата. Всички параметри на заявката на API и параметрите на метода могат да бъдат изпратени чрез променливи POST или GET .

Rest API поддържа XML и JSON формат за тестване на API на WebServices. Обикновено се предпочита за мобилни и уеб приложения, тъй като прави приложението по-бързо и по-гладко

WSDL

WSDL (език за описание на уеб услуги) е език, базиран на XML, който ще се използва за описание на услугите, предлагани от уеб услуга.

WSDL описва всички операции, предлагани от конкретната уеб услуга във формат XML. Той също така дефинира как услугите могат да бъдат извикани, т.е. каква входна стойност трябва да предоставим и какъв ще бъде форматът на отговора, който ще генерира за всеки вид услуга.

Как да тествате уеб услуга?

Можете да тествате уеб услуга

  1. Тествайте ръчно
  2. Създайте свой собствен код за автоматизация
  3. Използвайте автоматичен инструмент за автоматизация като SoapUI.

Тестването на автоматизация на уеб услуги включва следните стъпки -

  1. Разберете WSDL файла
  2. Определете операциите, които предоставя конкретна уеб услуга
  3. Определете формата на XML заявката, който трябва да изпратим
  4. Определете XML формата на отговора
  5. Използване на инструмент или писане на код за изпращане на заявка и валидиране на отговора

Да предположим, че искаме да тестваме уеб услуга, която предоставя инструмент за конвертиране на валута. Това ще са текущите обменни курсове между валутите на различните държави. Тази услуга можем да използваме в нашите приложения, за да конвертираме стойностите от една валута в друга валута.

Сега нека разгледаме горните стъпки

Стъпки 1 до 4: Разбиране на WSDL и определяне на операции и XML формати

WSDL файлът на конвертора на валути може да бъде видян @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), който ще предостави информацията за методите на уеб услугата за конвертор на валути, параметрите, които трябва да предадем, и тип параметри

... и т.н.

Стъпка 5: Използване на инструмент или писане на код за изпращане на заявка и валидиране на отговора

Налични са много инструменти за тестване на WebService за тестване на уеб услуга SOAP. SoapUI е един от популярните API инструменти, който ще ни помогне да тестваме SOAP уеб услугите. Всъщност можете да използвате всеки език за програмиране, който е в състояние да изпрати XML заявката до приложението на доставчика на уеб услуги през http и да може да анализира и валидира XML за отговор спрямо очаквания резултат. В този урок за тестване на уеб услуги ще тестваме WebService

  1. Използване на Java
  2. Използване на SoapUI

ЧАСТ 1) Тестване на WebService с помощта на Apache Axis2 API (Java).

Обикновено уеб услугата приема заявката и изпраща отговора във формат XML.

Проектът Apache Axis2 API е API за изпълнение на Java, който ще се използва за създаване на уеб услуги както от страна на сървъра (доставчик на услуги), така и от страна на клиента (потребител на услуги).

Axis2 може да изпраща SOAP съобщения и да получава и обработва SOAP съобщенията. Можем да напишем малка Java програма, използвайки API, за да създадем уеб услугата. Axis2 ще генерира WSDL от Java програма, която ще се използва за комуникация на услугите, предлагани от уеб услугата. Можем да използваме същия Axis2, за да генерираме Java класа (заглушител) от WSDL файл, който можем да използваме като клиентска програма за генериране на заявка за уеб услуга, изпращане на заявката до крайната точка на услугата и обработка на отговора.

  1. По същество ще създадем проста Java програма, в която ще създадем екземпляр на stub класа.
  2. Използвайки мъничето, ние ще извикаме метода на заявката, като предадем цялата необходима информация.
  3. Stub програмата ще преобразува тази заявка в XML формат на заявка и й изпраща крайната точка на услугата, която ще прочете заявката и обработва заявката и изпраща отговора в XML формат.
  4. XML отговорът ще бъде преобразуван в Java клас чрез мъниче и върнат към действителната програма.

Нека разгледаме подробно горните стъпки

Стъпка а) Изтеглете API на axis2 @ https://axis.apache.org/axis2/Java/core/download.cgi & Задайте променливата на околната среда 'AXIS2_HOME'

Стъпка б) Създайте папка, за да запазите всички генерирани артефакти

Пример: C: \ Axis \ Projects \ CurrencyConverter

Стъпка в) Отворете командния ред и отидете до структурата на папките, където искате да генерирате артефакти, и изпълнете следната команда, която ще генерира заглушките

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

Стъпка г) След като командата е изпълнена успешно, ще видите папката с необходимите файлове.

Стъпка д) В следващата стъпка от този урок за тестване на уеб услуги трябва да създадем клиентска програма, чрез която ще изпратим действителната заявка, използвайки генерираните заглушки. Отворете eclipse и създайте новия Java проект и изберете папката, която създадохме по-горе.

Стъпка f) Добавете всички свързани с оси 2 буркани към пътя за изграждане на проекта, който ще бъде там в папката lib на софтуерната папка axis2

(например: C: \ Axis \ axis2-1.6.2 \ lib)

Стъпка g) Създайте нов Java клас (напр. Client.Java) и инстанцирайте stub обект. Използвайки обекта за заглушаване, можем да извикаме всички поддържани методи на конкретната WebService.

Клиент. Java програмапакет org.apache.axis2.currencyconvertor;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;внос org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;публичен клас клиент {публична статична празнота main (Java.lang.String args []) {опитвам {// Създаване на обекта за заглушаване чрез предаване на URL адреса на крайната точка на услугатаCurrencyConvertorStub stub = нов CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate е класът, който трябва да използваме, като се споменава от и към валутата// ConversionRate обектът ще бъде параметърът за операцията convertRateConversionRate conversionRate = нов ConversionRate ();convertRate.setFromCurrency (Currency.USD);convertRate.setToCurrency (Currency.INR);// Създаване на ConversionRateResponse обект, който ще се използва за улавяне на отговора// извикваме услугата convertRate, използвайки обекта на заглушителяConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Можем да използваме обекта convertRateResponse, за да извлечем отговора на услугата ConversionRateSystem.out.println ("Коефициент на конверсия от INR в USD: + conversionRateResponse.getConversionRateResult ());} catch (Изключение e) {e.printStackTrace ();}}}

ЧАСТ 2) Как да тествате с помощта на уеб услугата SoapUI

В SoapUI

  1. Отидете на File> New Soap Project
  2. Въведете името на проекта и местоположението на WSDL URI
  3. Щракнете върху OK
  1. Разгънете първата заявка и щракнете двукратно върху „Request1“. Той ще покаже заявката SOAP във формат XML.
  2. Въведете от валута и към валута
  3. Щракнете върху бутона за изпращане
  4. XML за отговор ще се покаже в дясната страна.

Както можете да заключите, използването на инструменти за тестване на WebService като SoapUI ускорява усилията ви за тестване на автоматизация на уеб услуги. Следователно SoapUi ще бъде фокус на нашето обучение в следващите уроци.

Обобщение

  • Софтуерните приложения комуникират и обменят данни помежду си с помощта на WebService
  • SOAP и REST са 2 популярни протокола за създаване на WebService
  • SOAP поддържа XML базиран обмен на данни
  • REST поддържа XML, Json или обмен на данни в прост URL за тестване на API на WebServices.
  • WSDL е базиран на XML език, който ще се използва за описание на услугите, предлагани от уеб услуга. SOAP се дефинира с помощта на WSDL.
  • За да тествате WebService можете
    • Създайте свой собствен код. Например използвайте Axis2 API за Java
    • Използвайте инструменти за автоматизация на WebService Test като SoapUI
  • Инструменти за автоматизация като SoapUI ще стартират вашите усилия за тестване на автоматизация на уеб услуги, ще изискват по-малко усилия за кодиране в сравнение със създаването на ваш собствен код с помощта на Axis2 API

ЧЗВ

Каква е разликата между WebService и WebAPI?

Уеб сервиз

Уеб API

  • Определено от W3C, цялата комуникация и обмен на данни се основават на XML
  • Комуникацията и обменът на данни чрез уеб API могат да бъдат XML, JSON или обикновени данни
  • Той има определени стандарти - WSDL
  • Няма определен стандарт
  • Не можете да компресирате данните, но можете да компресирате HTML заявката
  • Можете да компресирате данните
  • Пример: САПУН
  • Пример: ПОЧИВКА

Научете повече за тестване на уеб API

Този урок за тестване на уеб услуги е възможен с приноса на г-н Narender Reddy Nukala