karate framework tutorial
Овај водич је увод у АПИ тестирање помоћу Карате Фрамеворк-а. Сазнајте о структури Карате тест скрипте и корацима за изградњу прве тест скрипте:
АПИ је акроним који означава Апплицатион Программинг Интерфаце (Интерфејс за програмирање апликација). Једноставно речено, можемо га дефинисати као софтверског посредника који омогућава комуникацију између апликација.
АПИ тестирање нам је потребно јер:
- Резултати се објављују брже, па више нема чекања да ли АПИ функционише у реду.
- Са бржим одзивом, примена ових АПИ-ја такође постаје бржа, што омогућава брзо време обрта.
- Рано откривање кварова, чак и пре него што се креира кориснички интерфејс апликације, омогућава нам да умањимо ризике и исправимо грешке.
- Могућа је велика испорука у краћем периоду.
Да бисмо могли да радимо на АПИ тестирању, на тржишту имамо доступне разне алате као што су поштар, мока и чај. Они су показали добре резултате и ефикасну употребу за тестирање АПИ-ја, међутим, они су под великим утицајем кода. Да би могао да их користи, мора бити технички добар и упознат са програмским језицима.
Карате Фрамеворк лепо решава ово питање претходних софтверских алата.
Шта ћете научити:
Шта је карате оквир
Карате? Разговарајмо о каратеу. Је ли то онај из Јапана? Шта мислиш? Можда је то сјајни Бруце Лее развио у своје слободно време.
Иако бисмо желели да се позабавимо занимљивим коренима каратеа, за сада, хајде да разговарамо о томе Карате алат који је развио Петер Тхомас , један од сјајних алата који долазе у помоћ АПИ тестера.
Карате оквир прати стил краставца у писању програма који следи БДД приступ. Синтаксу је лако разумјети не-програмерима. А овај оквир је једини алат за тестирање АПИ-ја који је комбиновао аутоматизацију АПИ-ја и тестирање перформанси у један самостални алат.
Пружа корисницима могућност да изврше тестове у паралелном режиму и изврше ЈСОН и КСМЛ провере.
Помоћу ових информација могу се утврдити одређене кључне тачке за даље детаљно разумевање алата Карате:
- Карате је БДД оквир за тестирање уместо ТДД.
- Дизајниран је тако да буде лак за програмере. Ова функција је измењивач игара, јер омогућава већу употребу и приступ многим људима, без обзира на њихово техничко порекло или капацитет.
- Користи датотеку карактеристика Краставац и језик Гхеркинс за писање теста који је врло лак за разумевање.
Све ове карактеристике чине га једним од најповољнијих алата за аутоматизацију који су данас доступни.
Историја карате оквира
Направио „ Петер Тхомас ’ 2017. овај софтвер има за циљ да функционалности тестирања учини доступним свима. Написан је на Јави и већина људи је очекивала да су и његове датотеке на истом језику, међутим, срећом, то није случај.
Уместо тога, користи Гхеркинс датотеке, што је резултат његове везе са оквиром Краставца. Софтвер за аутоматизацију је продужетак Краставца, па наслеђује употребу Гхеркинс датотеке у свом раду. Велика разлика између њих две је у томе што Карате не користи Јаву током тестирања, али краставац то чини.
То је управо разлог зашто се обраћа онима који нису програмери јер је Гхеркинсова синтакса супер читљива и свеобухватна. То је разлог зашто је Карате најприкладнији и препоручен за улазак у свет аутоматизованог тестирања АПИ-ја.
Следе неке карактеристике оквира за тестирање каратеа:
- Користи лако разумљив језик корнишона.
- Не захтева техничко знање програмирања попут Јаве.
- Заснован је на популарним стандардима краставаца.
- Лако је створити оквир.
- Паралелно тестирање је основна функционалност коју пружа сам Карате, стога не морамо да зависимо од њега Мавен, Градле итд.
- Кориснички интерфејс за отклањање грешака у тесту.
- Позивање датотеке функције из друге датотеке.
- Пружа подршку за тестирање управљачког програма података које је уграђено у компанију, па стога не треба зависити од спољних оквира.
- Уграђени матични извештаји о одмору. Поред тога, може се интегрисати са краставцем ради бољих извештаја о корисничком интерфејсу и веће прегледности.
- Пружа интерну подршку за пребацивање конфигурације у различита окружења за тестирање (КА, Стаге, Прод, Пре-Прод).
- Беспрекорна подршка за ЦИ / ЦД интеграцију која може бити корисна.
- Способан за обраду различитих ХТТП позива:
- Подршка за Веб соцкет
- СОАП захтев
- ХТТП
- Руковање колачићима прегледача
- ХТТПС
- Подаци у ХТМЛ облику
- КСМЛ захтев
Упоређивање каратеа против оног који је сигуран
Буди сигуран : То је библиотека заснована на Јави за тестирање РЕСТ услуга. За писање линија кода користи језик Јава. Помаже у тестирању бројних категорија захтева, што даље резултира верификацијом различитих комбинација пословне логике.
Карате Фрамеворк : Алат заснован на краставцу / корнишону, користи се за тестирање СОАП & РЕСТ услуга.
Следећа табела наводи још неколико истакнутих разлика између Овјереног и Карате оквира:
С.Но | Основа | Карате Фрамеворк | Буди сигуран |
---|---|---|---|
7 | Извештавање | Пружа интерно извештавање, стога не треба да зависи од спољних додатака. Можемо га чак интегрисати са додатком за извештавање о краставцима за бољи кориснички интерфејс. | Морате бити зависни од спољних додатака попут Јунит-а, ТестНГ-а |
1 | Језик | Користи комбинацију краставца и корнишона | Користи Јава језик |
два | Величина кода | Редак кода је обично мањи, јер следи структуру сличну краставцу | Редак кода је више јер укључује употребу Јава језика |
3 | Потребно техничко знање | Непрограмери могу лако да напишу Гхеркинсов код | За писање Јава кода потребно је техничко знање |
4 | Тестирање на основу података | Треба да користите ТестНГ или еквивалент за подршку истом | Интерне ознаке се могу користити за подршку тестирању података |
5 | Да ли пружа подршку за СОАП позиве | Да, пружа | То је повезано само са РЕСТ захтевом |
6 | Паралелно тестирање | Да, паралелно тестирање се лако подржава и паралелним генерисањем извештаја | Не у великој мери. Иако су људи то покушали, стопа неуспеха је више од стопе успеха |
8 | ЦСВ подршка за спољне податке | Да, од Карате 0.9.0 | Не, морате користити Јава код или библиотеку |
9 | Аутоматизација веб корисничког интерфејса | Да, из Карате 0.9.5 Веб-УИ Аутоматизација је могућа | Не, није подржано |
10 | Узорак ГЕТ | Given param val1 = ‘name1’ | given(). |
Отуда, као што показују горње разлике, сигурно је рећи да је карате једна од најлакших ствари које било ко може да уради.
Алати потребни за рад са Карате Фрамеворк-ом
Сада, пошто смо тачно стекли основно знање о Карате Фрамеворк-у, погледајмо процесе и алате потребне за постављање Карате окружења.
# 1) Помрачење
Ецлипсе је интегрисано развојно окружење које се користи у пољу рачунарског програмирања. Углавном се користи за Јава програмирање. Као што је раније поменуто, Карате је написан на Јави, тако да има више смисла зашто је Ецлипсе прелазни ИДЕ за АПИ тест софтвер. Други разлог је тај што је то алат отвореног кода и ово је прилично јак разлог да се одлучите за овај алат.
Белешка: Чак бисмо могли да користимо ИнтеллиЈ, Висуал Студио и друге различите уређиваче доступне на тржишту.
# 2) Мавен
Ово је алат за аутоматизацију израде који се првенствено користи за изградњу Јава пројеката. То је један од начина постављања карате окружења и писања кода. Да бисте поставили Ецлипсе са захтевима Мавена, можете кликнути овде за Мавен инсталацију.
Док радите у Мавену, користите Мавен зависности које би вам помогле да подржите Карате Фрамеворк.
Следеће зависности ће се користити са Мавеном у пом.кмл.
com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test
Белешка: Најновије верзије могу бити доступне у спремишту Мавен.
најбољи софтвер за снимање екрана виндовс 10
# 3) Градле
Градле је алтернатива Мавену и може се користити у једнаком капацитету. Они имају своје сличности и разлике, али се могу подједнако користити у постављању окружења за наше карате кодове.
Једноставнији је за употребу, флексибилан и препоручује се за употребу када наша апликација има неке захтеве за модуларизацију и управљање са гомилом додатака. Градле код за подешавање би изгледао отприлике овако,
testCompile 'com.intuit.karate:karate-junit4:0.6.0' testCompile 'com.intuit.karate:karate-apache:0.6.0'
Белешка: Можете користити МАВЕН или ГРАДЛЕ.
# 4) Подешавање Јава окружења у вашем систему
Треба да подесите ЈДК и ЈРЕ окружење да бисте започели са Карате Фрамеворк скриптама.
Структура карате тест скрипте
Скрипта за карате тест позната је по томе што поседује „.феатуре“ екстензију. Ова имовина је наследјена од Краставца. Организација датотека у Јава конвенцији је такође подједнако дозвољена. Можете бесплатно организовати датотеке у складу са конвенцијама Јава пакета.
Међутим, смернице Мавена налажу да се чување датотека које нису Јава врши одвојено. Готови су у а срц / тест / ресоурцес структура. А Јава датотеке се чувају под срц / маин / јава .
Али, према творцима Карате Фрамеворк-а, они чврсто верују да и Јава и не-Јава датотеке држимо упоредо. Према њима, много је лакше пазити на датотеке. .Јава и * .феатуре када се држе заједно, уместо да следе стандардну Мавен структуру.
То се лако може учинити подешавањем вашег пом.кмл на следећи начин (за Мавен):
src/test/java **/*.java ...
Следи преглед опште структуре Карате оквира:
Сада, пошто овај Карате Фрамеворк користи датотеку Руннер, која је такође потребна у Цуцумбер-у за покретање датотека карактеристика, тако да ће већи део писања следити Цуцумбер стандарде.
Али, за разлику од краставца, кораци не захтевају јасну дефиницију у каратеу, што заузврат повећава флексибилност и лакоћу рада. Не треба да додамо додатни лепак који обично морамо да додамо када следимо оквир Краставца.
Класа „Тркач“ је већину времена именована ТестРуннер.јава.
Тада ће датотека ТестРуннер.јава попримити облик:
import com.intuit.karate.junit4.Karate; import org.junit.runner.RunWith; @RunWith(Karate.class) public class TestRunner { }
И говорећи о .одлика датотека садржи све сценарије тестирања које треба тестирати како би се осигурало да АПИ ради према очекиваним захтевима.
Општа * .феатуре датотека изгледа отприлике као што је приказано доле:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200
Стварање прве основне скрипте за карате тест
Овај одељак ће вам помоћи да започнете са израдом ваше прве тест скрипте, која ће вам бити од помоћи да конвертујете АПИ-је у облику Карате оквира.
Пре него што напишемо основне скрипте за карате тест, инсталирајте следеће реквизите на машину:
- Ецлипсе ИДЕ
- Мавен. Поставите одговарајући Мавен пут.
- ЈДК & ЈРЕ. Поставите одговарајући пут.
Погледајмо корак по корак:
# 1) Створити нова МАВЕН Пројекат у Ецлипсе Едитор-у
- Отворите Ецлипсе
- Кликните на Филе. Изаберите Нови пројекат.
- Изаберите Мавен Пројецт
- Изаберите локацију радног простора.
- Изаберите архетип (обично бирамо „ Мавен-архетип-брзи почетак 1.1 ”За једноставне Мавенове пројекте).
- Наведите ИД групе и ИД артефакта (у нашем примеру смо користили следеће вредности).
- ИД групе : Карате
- Артефакт ИД: КаратеТестСцриптсСампле
- Кликните на Финисх да завршите подешавање.
#два) Једном створени, сада ћете моћи да видите следећу структуру у прозору Пројецт Екплорер.
# 3) Укључите све своје зависности.
Наш први корак, након подешавања на који ћемо кренути укључују све зависности то ће бити потребно за извршење. Све ознаке задржат ћемо под ПОМ.кмл (под претпоставком да сте већ свјесни употребе ПОМ.кмл).
- Отворите ПОМ.кмл и копирајте доњи код испод ознаке зависности и сачувајте датотеку.
com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test
Кликните овде за извор.
# 4) Хајде да размислимо о сценарију, шта ћемо тестирати у овом основном тестном скрипту за карате.
Сценарио:
Овим ћемо тестирати АПИ УРЛ.
Путања: апи / усерс / 2
Метод: ДОБИТИ
И морамо потврдити , да ли се захтев враћа а Шифра успеха (200) или не.
Једноставно речено, ми ћемо само тестирати примерак АПИ-ја да бисмо видели да ли се успешно извршава или не.
Белешка: Узимамо узорак АПИ-ја који је доступан за тестирање. Можете одабрати било који ПАТХ или се можете позвати на свој АПИ.
Кликните овде за извор.
# 5) Сада би наш следећи корак био стварање а .одлика датотека.
Као што је разматрано у уводном одељку, .феатуре датотека је имање које је наслеђено од Краставца. У овој датотеци ћемо исписати сценарије тестирања које треба извршити за извођење АПИ тестирања.
- Идите у директоријум срц / тест / јава у вашем пројекту.
- Кликните десним тастером миша и креирајте нову датотеку - усерДетаилс.феатуре. Затим кликните на дугме Заврши.
Сада ћете испод фасцикле видети следећу датотеку срц / тест / јава
бесплатни мрежни претварач иоутубе у мп4
Тхе Икона зелене боје подсећа на .обиље фи ле у краставцу који смо управо створили.
- Једном када је датотека креирана, сада ћемо написати наше тест сценарије о којима ће бити речи у следећем одељку.
# 6) Пошто имамо сценарио и празно. одлика датотека спремна, сада почнимо са нашом првом скриптом. Почнимо са кодирањем
У датотеку усерДетаилс.феатуре коју смо креирали у кораку 5 напишите следећи ред кода:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200
Покушајмо да разумемо компоненте записане у горњој датотеци:
- Одлика: Кључна реч објашњава назив функције коју тестирамо.
- Позадина: Ово је опционални одељак који се третира као предуслов. Ово се може користити за дефинисање шта је све потребно за тестирање АПИ-ја. Садржи ГЛАВА, УРЛ и ПАРАМ Опције.
- Сценарио: Свака датотека са карактеристикама коју ћете видети имаће бар једну особину (мада може да је да вишеструко сценарији). То је опис тест случаја.
- Дато: То је корак који треба извршити пре него што се изведе било који други тест корак. Обавезна је радња коју треба извршити.
- Када: Наводи се услов који треба да буде испуњен за извођење следећег корака испитивања.
- Онда: Каже нам да шта треба да се догоди у случају да је стање поменуто у Када је задовољан.
Белешка: Све горе поменуте кључне речи су са језика корнишона. Ово су стандардни начин писања тест скрипти помоћу Цуцумбер-а.
И још неке речи које се користе у датотеци са карактеристикама су:
- 200: То је статусни код / одговор који очекујемо (кликните овде за листу статусних кодова)
- ДОБИТИ: То је АПИ метода попут ПОСТ, ПУТ итд.
Надамо се да вам је ово објашњење било лако разумљиво. Сада ћете моћи да се повежете са оним што је тачно написано у горњој датотеци.
Сада треба да креирамо датотеку ТестРуннер.јава
Као што је објашњено у горњем одељку, Цуцумбер треба датотеку Руннер која би била потребна за извршавање .одлика датотека која садржи сценарије тестирања.
- Идите у директоријум срц / тест / јава у вашем пројекту
- Кликните десним тастером миша и креирајте нову Јава датотеку: ТестРуннер.јава
- Једном када је датотека креирана, испод њега ставите следеће редове кода:
import org.junit.runner.RunWith; import com.intuit.karate.junit4.Karate; @RunWith(Karate.class) public class TestRunner { }
- Тест Руннер је датотека која ће се сада извршити за извођење жељеног сценарија написаног у кораку # 5.
# 7) Сада смо спремни са обе датотеке ТестРуннер.Јава и усерДеатилс.феатуре. Једини задатак који нам остаје је да Трцати скрипта.
- Идите на датотеку ТестРуннер.јава и кликните десним тастером миша на датотеку као што је приказано на доњој слици.
- Изаберите Рун Ас -> Јунит Тест
- Када будете изабрани, почећете да примећујете да је тест случај сада започет.
- Сачекајте да се скрипта за тест изврши. Када завршите, приметићете нешто попут приказаног на доњој слици у вашем прозору.
- На крају, можемо рећи да смо успешно створили свој први основни Тест Сцрипт помоћу Карате Фрамеворк.
# 8) На крају, Карате фрамеворк такође даје ХТМЛ презентацију извештаја за извршење које је извршено.
- Идите на Циљна мапа -> сурефире-репортс-> Овде ћете видети свој ХТМЛ извештај који можете да отворите.
** Такође бисмо вам предложили да отворите исти помоћу Цхроме прегледача за бољи изглед и осећај.
- Следећи ХТМЛ извештај ће вам бити приказан са приказом Сценарији и тест која је извршена за поменути сценарио:
Закључак
У овом упутству смо разговарали о АПИ тестирању, различитим алатима за тестирање доступним на тржишту и како је Карате Фрамеворк боља опција у поређењу са својим колегама.
Следили смо корак по корак да бисмо креирали прву основну скрипту за тест. Почели смо са стварањем основног Мавен пројекат у Ецлипсе ИДЕ да бисте креирали датотеку .феатуре која садржи сав тестни сценарио и датотеку Руннер за извршавање тест случаја наведеног у датотеци .феатуре.
На крају више корака могли смо да видимо извештај о извршењу резултата теста.
Надамо се да је ово упутство било корисно за почетнике у учењу како да направе своју прву тест скрипту помоћу Карате Фрамеворк-а и изврше АПИ тестирање. Овај детаљни корак по корак приступ је диван начин за покретање и извршавање различитих тестова на АПИ-ју.
Препоручено читање
- Како поставити Ноде.јс оквир за тестирање: Водич за Ноде.јс
- Водич за Парасофт СОАтест: Алат за тестирање АПИ-ја без скрипти
- Водич за Моцкито: Моцкито оквир за ругање у јединственом тестирању
- Водич за АПИ тестирање: Комплетан водич за почетнике
- Водич за ТестНГ: Увод у ТестНГ Фрамеворк
- Водич за Јест - ЈаваСцрипт јединствено тестирање помоћу Јест Фрамеворк-а
- Водич за испитивање разарања и испитивања без разарања
- Како се користи поштар за тестирање различитих формата АПИ-ја?