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

Шта је ВебСервице?

Веб услуге су механизам или медиј комуникације путем којег ће две апликације / машине размењивати податке без обзира на њихову подвучену архитектуру и технологију.

Шта је тестирање веб услуга?

Тестирање веб услуга је врста тестирања софтвера која валидира Веб услуге. Сврха тестирања веб услуга је да провери функционалност, поузданост, перформансе и сигурност АПИ-ја (интерфејс апликативног програма). Тестирање веб услуга је у неким случајевима слично јединственом тестирању. Можете да тестирате веб услугу ручно или да креирате сопствени код за аутоматизацију или да користите алат за аутоматизацију као што је Постман.

Зашто је потребна ВебСервице?

Генерално, софтверске апликације су развијене за људску употребу, када особа шаље захтев софтверској служби која заузврат враћа одговор у човеку читљивом формату.

У модерној ери технологије, ако желите да направите софтверску апликацију, не морате сваку и све да градите од нуле. Доступно је пуно готових услуга које можете прикључити у своју апликацију и можете започети пружање тих услуга у својој апликацији.

На пример, желите да прикажете информације о временској прогнози које вам нису потребне за прикупљање, обраду и приказ података у вашој апликацији. Услуге можете купити од људи који су се већ добро утврдили у обради и објављивању таквих врста података.

Веб услуге нам омогућавају да радимо овакве примене.

Као пример, узмите у обзир следећу ВебСервице

хттп://ввв.вебсервицек.нет/стоцккуоте.асмк?оп=ГетКуоте

То даје вредност удела за компанију.

Пронађимо цену деоница за Гоогле (симбол: ГООГ)

Одговор КСМЛ даје цену акције.

Ову ВебСервице може позвати софтверска апликација користећи СОАП или ХТТП протокол.

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

Веб услуге се могу применити на различите начине, али следећа два су популарни приступи примени.

  1. СОАП (протокол за приступ једноставним објектима)
  2. РЕСТ (Репрезентативна државна архитектура преноса)

САПУН

СОАП је стандардни протокол дефинисан В3Ц стандардом за слање и примање захтева и одговора на веб услуге.

СОАП користи КСМЛ формат за слање и примање захтева, па су стога подаци независни од платформе. СОАП поруке се размењују између апликација добављача и апликација које примају унутар СОАП омотача.

Како СОАП користи једноставни хттп транспортни протокол, заштитни зидови не блокирају његове поруке.

ОДМОР

РЕСТ значи преставнички државни трансфер; то је архитектура која углавном прелази преко ХТТП-а. РЕСТ стил наглашава интеракцију између клијената и услуга, које су побољшане ограниченим бројем операција. РЕСТ је алтернатива СОАП-у (Симпле Објецт Аццесс Протоцол) и уместо да користи КСМЛ за захтев, РЕСТ у неким случајевима користи једноставну УРЛ адресу. За разлику од СОАП-а, РЕСТФУЛ апликације користе ХТТП заглавља за ношење мета-информација.

Постоје различити кодови које РЕСТ користи да би утврдио да ли корисник има приступ АПИ-ју или не, попут кода 200 или 201 указује на успешну интеракцију са телом одговора, док 400 указује на лош захтев или УРИ захтева не одговара АПИ-има у систему. Сви параметри АПИ захтева и параметри методе могу се послати путем променљивих ПОСТ или ГЕТ .

АПИ за одмор подржава и КСМЛ и ЈСОН формат за тестирање АПИ-ја ВебСервицес. Обично је пожељнији за мобилне и веб апликације, јер омогућава бржи и глађи рад апликација

ВСДЛ

ВСДЛ (језик за опис веб услуга) је језик заснован на КСМЛ-у који ће се користити за описивање услуга које нуди веб услуга.

ВСДЛ описује све операције које нуди одређена веб услуга у КСМЛ формату. Такође дефинише како се услуге могу позвати, тј. Коју улазну вредност морамо да пружимо и који ће бити формат одговора који ће створити за сваку врсту услуге.

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

Да бисте тестирали веб услугу, можете

  1. Тестирајте ручно
  2. Креирајте свој властити код за аутоматизацију
  3. Користите готов алат за аутоматизацију као што је СоапУИ.

Тестирање аутоматизације веб услуга укључује следеће кораке -

  1. Разумевање ВСДЛ датотеке
  2. Утврдите операције које пружа одређена веб услуга
  3. Одредите КСМЛ формат захтева који треба да пошаљемо
  4. Одредите КСМЛ формат одговора
  5. Коришћење алата или писање кода за слање захтева и потврђивање одговора

Претпоставимо да желимо да тестирамо веб услугу која пружа могућност конверзије валута. То ће бити тренутни курсеви конверзије између валута различитих земаља. Ову услугу можемо користити у нашим апликацијама за претварање вредности из једне валуте у другу валуту.

Погледајмо сада горње кораке

Корак 1 до 4: Разумевање ВСДЛ-а и одређивање операција и КСМЛ формата

Датотека ВСДЛ претварача валута може се видети @ (хттп://ввв.вебсервицек.нет/ЦурренциЦонвертор.асмк?всдл) која ће дати информације о методама веб услуга претварача валута које ће подржати, параметру који требамо проћи и врста параметара

... итд

Корак 5: Коришћење алата или писање кода за слање захтева и потврђивање одговора

Доступно је пуно ВебСервице Тест алата за тестирање СОАП веб услуге. СоапУИ је један од популарних АПИ алата који ће нам помоћи да тестирамо СОАП веб услуге. У ствари, можете користити било који програмски језик који може да пошаље КСМЛ захтев апликацији добављача веб услуга преко хттп-а и који може да рашчлани и потврди одговор КСМЛ-а у односу на очекивани резултат. У овом упутству за тестирање веб услуга тестираћемо ВебСервице

  1. Коришћење Јаве
  2. Коришћење СоапУИ

ДЕО 1) Тестирање веб услуга помоћу Апацхе Акис2 АПИ (Јава).

Генерално веб услуга узима захтев и шаље одговор у КСМЛ формату.

Апацхе Акис2 АПИ пројекат је АПИ за имплементацију Јаве, који ће се користити за креирање веб услуга и на страни сервера (добављач услуга) и на страни клијента (потрошач услуге).

Акис2 је способан да шаље СОАП поруке и прима и обрађује СОАП поруке. Можемо да напишемо мали Јава програм користећи АПИ за креирање веб услуге. Акис2 ће генерисати ВСДЛ из Јава програма који ће се користити за комуникацију услуга које нуди веб услуга. Можемо користити исти Акис2 за генерисање Јава класе (стуб) из ВСДЛ датотеке коју можемо користити као клијентски програм за генерисање захтева за веб услугу, за слање захтева до крајње тачке услуге и за обраду одговора.

  1. У основи ћемо створити једноставан Јава програм у којем ћемо направити инстанцу стуб класе.
  2. Коришћењем клица позваћемо метод захтева прослеђивањем свих потребних информација.
  3. Стуб програм ће тај захтев претворити у КСМЛ формат захтева и послати му крајњу тачку услуге која ће прочитати захтев и обрадити захтев и послати одговор у КСМЛ формату.
  4. КСМЛ одговор претворит ће се у класу Јава стуб-ом и вратити у стварни програм.

Погледајмо детаљно горње кораке

Корак а) Преузмите АПИ2 акис2 @ хттпс://акис.апацхе.орг/акис2/Јава/цоре/довнлоад.цги & Подесите променљиву окружења 'АКСИС2_ХОМЕ'

Корак б) Направите фасциклу у којој ће се чувати сви генерисани артефакти

Нпр .: Ц: \ Акис \ Пројецтс \ ЦурренциЦонвертер

Корак ц) Отворите командну линију и дођите до структуре фасцикле у којој желите да генеришете артефакте и покрените следећу команду која ће генерисати кварове

% АКСИС2_ХОМЕ% \ бин \ ВСДЛ2Јава -ури хттп://ввв.вебсервицек.нет/ЦурренциЦонвертор.асмк?всдл -п орг.апацхе.акис2.цурренцицонвертор -д адб -с

Корак д) Једном када се команда успешно покрене, видећете фасциклу са потребним датотекама.

Корак е) У следећем кораку овог водича за тестирање веб услуга, морамо да креирамо клијентски програм, кроз који ћемо послати стварни захтев користећи генерисане кварове. Отворите ецлипсе и креирајте нови Јава пројекат и изаберите фасциклу коју смо горе креирали.

Корак ф) Додајте све тегле повезане са акис2 у путању израде пројекта, која ће бити тамо у либ директоријуму софтвера акис2

(за пример: Ц: \ Акис \ акис2-1.6.2 \ либ)

Корак г) Направите нову Јава класу (нпр: Цлиент.Јава) и направите инстанцу стуб објекта. Коришћењем објекта клизача можемо назвати све подржане методе одређене ВебСервице.

Клијент.Јава програмпакет орг.апацхе.акис2.цурренцицонвертор;импорт орг.апацхе.акис2.цурренцицонвертор.ЦурренциЦонверторСтуб.ЦонверсионРате;импорт орг.апацхе.акис2.цурренцицонвертор.ЦурренциЦонверторСтуб.ЦонверсионРатеРеспонсе;импорт орг.апацхе.акис2.цурренцицонвертор.ЦурренциЦонверторСтуб.Цурренци;клијент јавне класе {јавна статичка воид главна (Јава.ланг.Стринг аргс []) {покушати {// Створимо стуб објект прослеђивањем УРЛ-а крајње тачке услугеЦурренциЦонверторСтуб стуб = нови ЦурренциЦонверторСтуб ("хттп://ввв.вебсервицек.нет/ЦурренциЦонвертор.асмк");// ЦонверсионРате је класа коју морамо користити, помињући од и до валуте// ЦонверсионРате објект ће бити параметар за операцију цонвертРатеЦонверсионРате цонверсионРате = нови ЦонверсионРате ();цонверсионРате.сетФромЦурренци (Цурренци.УСД);цонверсионРате.сетТоЦурренци (Цурренци.ИНР);// Креирајте објект ЦонверсионРатеРеспонсе, који ће се користити за хватање одговора// позивамо услугу цонверсионРате помоћу објекта клизачаЦонверсионРатеРеспонсе цонверсионРатеРеспонсе = стуб.цонверсионРате (цонверсионРате);// Можемо користити објект цонвертРатеРеспонсе за дохваћање одговора услуге ЦонверсионРатеСистем.оут.принтлн ("Стопа конверзије из ИНР у УСД: + цонверсионРатеРеспонсе.гетЦонверсионРатеРесулт ());} цатцх (Изузетак е) {е.принтСтацкТраце ();}}}

ДИО 2) Како тестирати помоћу услуге СоапУИ Веб Сервице

У СоапУИ

  1. Идите на Датотека> Нови пројекат сапуна
  2. Унесите назив пројекта и ВСДЛ УРИ локацију
  3. Кликните ОК
  1. Проширите први захтев и двапут кликните на „Захтев1“. Приказаће СОАП захтев у КСМЛ формату.
  2. Унесите Од валуте и До валуте
  3. Кликните на дугме за слање
  4. КСМЛ одговора биће приказан на десном бочном окну.

Као што можете закључити, употреба алата за тестирање ВебСервице попут СоапУИ убрзава ваш напор за тестирање аутоматизације веб услуга. Отуда ће СоапУи бити фокус нашег учења у следећим водичима.

Резиме

  • Софтверске апликације међусобно комуницирају и размењују податке користећи ВебСервице
  • СОАП и РЕСТ су 2 популарна протокола за стварање ВебСервице-а
  • СОАП подржава размену података заснованих на КСМЛ-у
  • РЕСТ подржава КСМЛ, Јсон или размену података у једноставном УРЛ-у за тестирање АПИ-ја ВебСервицес.
  • ВСДЛ је језик заснован на КСМЛ-у који ће се користити за описивање услуга које нуди веб услуга. СОАП се дефинише помоћу ВСДЛ-а.
  • Да бисте тестирали ВебСервице можете
    • Направите свој код. На пример, користите Акис2 АПИ за Јаву
    • Користите алате за аутоматизацију ВебСервице тестова попут СоапУИ
  • Алати за аутоматизацију, попут СоапУИ, покренуће ваше напоре на тестирању аутоматизације веб услуга, захтеваће мање напора у кодирању у поређењу са креирањем вашег сопственог кода помоћу Акис2 АПИ

ФАК

Која је разлика између ВебСервице и ВебАПИ?

Веб сервис

Веб АПИ

  • Дефинисано В3Ц-ом, сва комуникација и размена података заснивају се на КСМЛ-у
  • Веб АПИ комуникација и размена података могу бити КСМЛ, ЈСОН или обични подаци
  • Има дефинисане стандарде - ВСДЛ
  • Нема дефинисаног стандарда
  • Не можете сажети податке, али можете сажети ХТМЛ захтев
  • Можете компресовати податке
  • Пример: САПУН
  • Пример: РЕСТ

Сазнајте више о тестирању веб АПИ-ја

Ово упутство за тестирање веб услуга омогућено је доприносима г. Нарендера Реддија Нукале

Занимљиви Чланци...