how automate api requests using rest assured
У овом водичу научићемо да аутоматизујемо захтеве за АПИ помоћу РЕСТ Ассуред током извршавања тестних скрипти преко Јенкинс-а:
У 2. водичу РЕСТ АПИ Туториал Сериес-а научили смо различите типове кодова одговора, РЕСТ захтеве, РЕСТ најбоље праксе и тестирање АПИ-ја користећи ПОСТМАН.
ОСТАЛО Веб услуге постају популарне из дана у дан због њихове лакоће развоја, примене, приступа и извршења. Поврх тога, ови су лагани и немају строге стандарде које треба поштовати.
Међутим, када постоји већи број услуга које постоје и које је потребно извршити у свакој новој градњи, то постаје ноћна мора за тестера и трошкове пројекта. Опет, неке услуге су интерне које су повезане са самим пројектом, а неке су изграђене да би их користиле треће стране.
Дакле, појавила се идеја аутоматизације. Доступно је неколико алата за аутоматизацију РЕСТ услуга, као што су-
- вРест
- ХттпМастер
- Парасофт
- Буди сигуран
РестАссуред је популаран алат за аутоматизацију међу тестерима. Погледајмо зашто је то преферирана опција.
Шта ћете научити:
Зашто РЕСТАссуред?
- Отворени је извор, па га свака организација може користити за своје пројектне потребе.
- РЕСТ Ассуред је Јава библиотека, тако да не долази као ГУИ као други алати. То је оквир за тестирање РЕСТ услуга на Јави.
- Пружа језик специфичан за домен (ДСЛ) за креирање скрипте за аутоматизацију, користи било који матерњи језик као што је Јава и тестира РЕСТфул Веб АПИ.
- Подржава КСМЛ и ЈСОН формат за захтев, одговоре.
- Делује као клијент без главе.
- Помоћу ове библиотеке можемо прилагодити захтев који ћемо послати серверу.
- Такође, може да тестира разнолику комбинацију сложене пословне логике.
- Оспособљен је за преузимање статусног кода, одговора, тела одговора, заглавља са сервера за послати захтев.
- Омогућава БДД стил писања тест скрипте, тј. У формату ГИВЕН-ВХЕН-ТХЕН, тако да било који члан пословног тима, посебно из не-ИТ порекла, такође може да га види и разуме логику и покривеност тестом.
У овом упутству ћемо аутоматизовати захтеве које смо ручно креирали раније у првом водичу за РЕСТ АПИ преко ПОСТМАН-а, а разговараћемо и о комерцијалном алату под називом ГИТХУБ.
Аутоматизација захтева за веб АПИ коришћењем РЕСТ Ассуред
У овом упутству ћемо радити аутоматизацију од краја до краја, тј. Креирамо Јава класу и извршавамо је из Јенкинса.
Предуслови:
- Предвиђени примаоци морају да поседују радно знање о Ецлипсе ИДЕ, Мавен, ТестНГ, РепортНГ.
- Примаоци такође треба да буду свесни Јенкинса.
- Интернет веза је потребна ако приступамо услугама распоређеним преко веба. У случају да приступамо локално распоређеним услугама, у том случају се уверите да тестер има право.
- Ако аутоматизујемо било коју комерцијалну, обезбеђену веб локацију, у том случају се уверите да токен ауторизације, АПИ токени, АПИ кључеви итд. Раде исправно и да ли смо их дали тестеру који тренутно аутоматизује скрипту.
Тестирање УРЛ адресе
- хттп://јсонплацехолдер.типицоде.цом је покренут
- Корисник има важеће акредитиве преко ГитХуб
Подешавања животне средине
# 1) Инсталирајте Ецлипсе ИДЕ
Пре свега, морамо да преузмемо Ецлипсе ИДЕ са званичне веб странице компаније Ецлипсе.
Затим инсталирајте ИДЕ. Правилно поставите путању, променљиву окружења ЈАВА_ХОМЕ. Нека ЈДК, ЈРЕ путања буде при руци за будућу употребу. Једном када је Ецлипсе инсталиран, креирајте / поставите радни простор и отворите радни простор.
У мом случају је:
#два) Направите Мавен пројекат
Обавезно конфигуришите Мавен дом преко променљивих животне средине.
# 3) Додајте све релевантне, потребне зависности, додатке који се односе на РЕСТ-АССУРЕД, ТЕСТНГ, РЕПОРТНГ на пом.кмл.
Ево примера пом.кмл.
4.0.0 com restapi 2.9.1-SNAPSHOT jar restapi http://maven.apache.org UTF-8 junit junit 3.8.1 test org.testng testng 6.11 com.jayway.restassured rest-assured 2.9.0 com.jayway.jsonpath json-path 2.2.0 com.jayway.restassured json-schema-validator 2.9.0 com.google.code.gson gson 2.6.2 test org.hamcrest hamcrest-junit 2.0.0.0 org.hamcrest hamcrest-all 1.3 commons-io commons-io 2.4 io.rest-assured rest-assured-common 3.0.1 org.uncommons reportng 1.1.4 test org.testng testng com.google.inject guice 3.0 org.apache.maven.plugins maven-surefire-plugin 2.14.1 ${env} listener org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter Tutorials.xml
# 4) Додајте потребне тегле у путању израде пројеката Мавен.
Обично се ради о датотеци библиотеке која долази под РАС-осигураном теглом, ТЕСТНГ, РЕПОРТНГ. Иако смо додали зависност, додатак преко датотеке пом.кмл, али и даље понекад долази до грешке, стога морамо додати ове тегле / библиотеке да бисмо изградили путању мавен пројекта како бисмо спречили грешке (ако их има).
Међутим, када креирамо Јава пројекте уместо Мавен пројеката, у том случају морамо да држимо ове тегле, библиотеке при руци и да их користимо по потреби.
# 5) Инсталирајте ЈЕНКИНС (на Виндовсима)
Преузмите Јенкинс са јенкинс.ио/довнлоад/.
Затим отворите подешавање, следите кораке док се правилно не инсталира.
Једном инсталирани, морамо покренути ЈЕНКИНС, можемо то учинити из командне линије.
Ц: Програмске датотеке Јенкинс> јава -јар јенкинс.вар –хттпПорт = 9090.
Једном када се прикаже горња порука, треба да сачекамо још неко време да видимо следећу поруку.
Као што можемо видети последњу поруку на горњем екрану где је Јенкинс у потпуности покренут, и зато сада можемо да покренемо Јенкинс користећи следећу УРЛ адресу.
хттп: // лоцалхост: 9090 /
Први пут ће требати времена, али касније ће бити брже. После тога треба да креирамо корисника.
Једном када се корисник креира, морамо поново покренути Јенкинс и приступити корисничком интерфејсу са лозинком.
Једном када је Јенкин инсталиран, додатке можемо инсталирати преко Управљање Јенкинс-ом> Глобална конфигурација алата (чак и током Јенкин-ове инсталације).
Израда скрипте за аутоматизацију
# 6) Можемо створити нови ЈАВА РАЗРЕД и претворити га у ТЕСНГ или директно креирајте ТЕСТНГ РАЗРЕД праћен стварањем нове КСМЛ датотеке (тестнг.кмл).
Ради једноставности, направљене су две Јава класе
# 1) Туториал1.јава - Ова датотека садржи употребу свих метода као што су ГЕТ, ПОСТ, ПУТ, ПАТЦХ, ДЕЛЕТЕ, ЛОГРЕКУЕСТ, ЛОГРЕСПОНСЕ, АССЕРТ помоћу лажног УРЛ-а за тестирање хттпс: јсонплацехолдер.типицоде.цом.
Иако се УРЛ понаша као оригинални УРЛ давањем таквих одговора, али заправо се на серверу не врши промена. То је само да демонстрира својства и реакције веб услуга када приме било какав захтев од клијента.
# 2) Туториал2.јава - Ова датотека садржи пример ГитХуб-а у стварном времену где ћемо читати коментар додат у суштину.
Белешка : ГитХуб захтева потврду идентитета, па морамо генерисати АПИ токен или основну ауторизацију након што се пријавимо на ГитХуб - подешавања, или можемо генерирати токен ауторизације од самог ПОСТМАН-а
ТЕСНГ.КСМЛ
Ево КСМЛ датотеке која ће извршити обоје Туториал1.јава и Туториал2.јава
У сврху демонстрације, изузео сам све методе за покретање и омогућио извршење само једне ГЕТ методе Туториал1.јава. Међутим, ако желимо да видимо извршене све методе, онда морамо да заменимо са преко ТестНГ КСМЛ датотеком. У нашем случају име датотеке ТестНГ је тестнг1.кмл.
Сада ако извршимо горе наведено тестнг1.кмл датотеку преко Ецлипсе-а онда ћемо добити следеће излаз конзоле.
(ТестНГЦонтентХандлер) (УПОЗОРЕЊЕ) Препоручује се да додате „“ на врх датотеке, у супротном, ТестНГ може пропасти или неће радити како се очекивало.
(ТестНГ) Покретање:
Д: РестАссуред рестапи тестнг1.кмл
*** ДОБИЈТЕ МЕТОДУ ***
Усерид - (1) до - (3) Наслов - (ако је узнемирујуће што је вежба болна) тело - (и тачно, али закон
И сви избори или на задовољство слепих јесу
или осуђујући било какву насталу тугу и задовољство
и вољан је и од муке одвратне или нелагодне и од)
*** ДОБИТИ МЕТОДУ КРАЈ ***
————————————————–
Водичи за РЕСТ АПИ
Укупно извршених тестова: 1, неуспеха: 0, прескакања: 0
————————————————-
Ево резултата теста пакета.
Ево подразумеваног извештаја који је генерисао ТестНГ.
Ево извештаја који је генерисао РепортНГ.
С обзиром да смо већ конфигурисали РепортНГ, стога можемо очекивати јасан приказ укупног броја прослеђених, неуспелих бројања као горе.
Извршење тест скрипти помоћу командне линије
- Морамо покренути командну линију
- Поставите радни директоријум као локацију радног простора
- Пронађите локацију канте / циља
- Пронађите / направите локацију библиотеке
- Прво, потребан нам је скуп, директоријум у којем пројекат постоји. У мом случају то је Д: РестАссуред рестапи
- Јава - кључна реч
- цп - То је пут до класе, значи пут на којем Јава класа постоји у пројекту
- Циљ - То је исто као и фасцикла бин када радимо на Јава пројекту. Будући да радимо на пројекту Мавен, отуда ћемо и имати овај фолдер. Испод овог директоријума можемо да имамо још две фасцикле: класе, тест-класе. Стварна Јава класа ће постојати међу ове две фасцикле
- Либ - Ова мапа ће садржати све стакленке које смо користили током извршавања тест скрипте из Ецлипсе-а. У неким случајевима фасцикла можда није присутна. Стога ћемо можда морати да направимо фасциклу и у њој држимо све тегле, извршне датотеке итд.
- орг.тестнг.ТестНГ тестнг1.кмл - Ово је попут синтаксе. Последњи део је тестнг1.кмл је датотека ресурса ТестНГ-а, која ће бити позвана да изврши жељене тест скрипте
Комплетна команда ће бити
јава -цп таргет / тест-цлассес; таргет / Цлассес; либ / * орг.тестнг.ТестНГ тестнг1.кмл
Након тога притисните ентер
Белешка: Фасциклу бин можемо видети док радимо на Јава пројекту. Међутим, ако радимо у Мавен пројекту, тада ћемо имати циљну фасциклу и нормалне класе, фасцикла тест-класа ће бити присутна испод ње.
Стварање БАТ датотеке и извршавање тестних скрипти
Уместо да отворимо командну линију и покренемо горњу команду за извршавање тест скрипте, можемо је задржати у текстуалној датотеци и док је чувамо, даје јој име попут,
“Рун.бат” (обавезно задржите „“ око рун.бат)
Ево како то изгледа након што је створено.
Сада двапут кликните на „рун“
Отвориће се командна линија која ће извршити тест скрипту и када се извршавање заврши, командна линија се затвара.
најбољи иоутубе у мп4 претварач на мрежи
Интегрисање ЈЕНКИНС-а са Мавеном, Јава
Морамо да направимо 4-5 конфигурација у Јенкинс-у да бисмо је интегрисали са Мавен, Јава и извршили исту.
Једном када се пријавимо у Јенкинс,
Иди на Манагер Јенкинс >> Глобална конфигурација алата
подесите путању инсталације ЈДК
Белешка : Уверите се да Јенкинова верзија подржава ЈДК / Јава верзију. Јенкинс верзија 2.73 захтева најмање ЈДК / ЈАВА верзије 1.8, иначе ће створити проблеме током извршавања тест скрипти.
Подесите пут инсталације за Мавен
Након тога, идите на Манагер Јенкинс >> Цонфигуре Системс
Подесите променљиву путању околине
Следећи, Направите нову ставку
Морамо кликнути на створити нову везу, навести име за посао одаберите врсту пројекта као Слободан стил . За сада не морате бринути о другим стварима.
Једном кад се посао створи, изгледаће овако.
Сада кликните на посао
Следите кораке у наставку:
- Кликните везу за конфигурисање на левој бочној плочи.
- Померите се надоле до картице Генерал и кликните на дугме Адванцед.
- Означите поље за потврду прилагођени радни простор и наведите локацију фасцикле пројекта.
Након тога
- Померите се надоле више до Буилд Триггерс
- Означите поље за потврду Периодично гради
- Подесите неко време како је доле поменуто
Померите се надоле, подесите име Буилд. У нашем случају то је извршна Виндовс батцх наредба.
На истом је месту где смо раније чували датотеку рун.бат, а то је Д: РестАссуред рестапи фолдер
Сачувајте све до сада направљене промене.
Сада, сачекајте да се покрене посао црон. Видимо да је изградња покренута.
Једном када се изградња успешно изврши, затим треба да кликнемо на верзију # 20 како је наведено на горњој слици.
Кликните на Излаз конзоле везу на левој табли.
Сада бисмо могли да видимо следећи излаз.
Закључак
РЕСТ АССУРЕД је врло корисна ЈАВА библиотека за аутоматизацију РЕСТ АПИ-ја, без обзира на језик. Има много уграђених опција. Такође, има много верзија са занимљивим функцијама, укључујући и опције. Подржава многе формате као захтеве попут КСМЛ, ЈСОН итд.
У овом упутству смо објаснили како да аутоматизујете захтеве за АПИ помоћу РЕСТАссуред док извршавате тест скрипте користећи Јенкинс. Такође смо објаснили зашто је Рест Ассуред бољи избор за аутоматизацију АПИ захтева.
Надамо се да сте уживали читајући ову серију водича за Рест АПИ!
Препоручено читање
- РЕСТ АПИ тестирање са краставцем применом БДД приступа
- 10 најбољих алата за тестирање АПИ-ја у 2021. години (СОАП и РЕСТ АПИ алати за тестирање)
- РЕСТ АПИ тестирање помоћу Спринг РестТемплате и ТестНГ
- Рад са ХТТП захтевима у ЈМетер-у
- Водич за ПОСТМАН: Испитивање АПИ-ја помоћу ПОСТМАН-а
- 20 најважнијих питања и одговора за испитивање АПИ тестирања
- Топ 10 најбољих алата за управљање АПИ-јем са упоређивањем карактеристика
- 36 питања са Јенкинс-овог интервјуа (за 2021. годину)