geb tutorial browser automation testing using geb tool
Геб (изговара се „јеб“) је одговор на изазове аутоматизације прегледача. Веома је ефикасан алат за извођење аутоматизованих тестова путем Интернета.
Геб је настао из потребе да аутоматизацију прегледача (у почетку за веб тестирање) учини мање сложеном, без муке и ефикаснијом. Може се користити за програмирање, издвајање података са веба и аутоматизацију ручних веб задатака. Поред тога, Геб је цросс-бровсер алат за испитивање аутоматизације.
Геб функционише као алат који развија програмер за аутоматизацију сарадње између веб прегледача и веб садржаја. Покреће ВебДривер на Гроови језику.
Лепота алата за тестирање Геб је у томе што комбинује најбоље карактеристике програмског језика Гроови, јКуери, ВебДривер и моделирање објектних страница како би се обезбедила моћна, робусна и динамична инспекција садржаја, одабир и интеракција на мрежи.
По чему је Геб јединствен у поређењу са другим алати за испитивање аутоматизације доступна на тржишту је његова синтакса. Слично је јКуери-у који се обично користи за лако постављање ХТМЛ страница. Друго, има интегрисану подршку за образац Паге Објецт.
Геб пружа велику помоћ за функционално веб тестирање интеграцијом са неким широко коришћеним и уобичајеним платформама за тестирање, укључујући Споцк , Граилс, ЈУнит , Краставац-ЈВМ , ТестНГ, итд. Видећемо како се Геб може интегрисати са Граилс фрамеворк-ом у каснијем делу овог чланка.
Шта ћете научити:
- Практична употреба
- Предности
- Предуслови
- Почетак
- Учите на примеру
- Тестирање валидације базе података путем Геб скрипте:
- Неколико корисних метода у гебу
- Недостаци овог алата
- Више ресурса:
- Закључак
- Препоручено читање
Практична употреба
Као што је већ поменуто у уводу овог Геб водича, он се може користити:
- Као алат за тестирање на више прегледача као што су цхроме, Фирефок, Интернет Екплорер итд. (Иста скрипта за аутоматизацију може се покретати на различитим прегледачима да би се извршило веб тестирање ваше апликације.)
- За аутоматизацију случајева прихватања корисника и функционалних тестова.
- Да аутоматизујете сценарије тестирања створене за функционално или веб тестирање било које апликације.
- Да покрије тестирање од краја до краја, укључујући проверу корисничког интерфејса (Усер Интерфаце) и проверу ДБ (базе података).
- Као развојни алат за аутоматизацију интеракције између веб прегледача и веб садржаја.
Предности
- Геб је бесплатан алат отвореног кода. Лиценциран је под лиценцом Апацхе, верзија 2.0.
- Лако и једноставно за аутоматизацију веб тестирања.
- Гебови Паге Објекти и Гроови ДСЛ чине тестове читљивим до те мере да готово личе на обичан енглески.
- Брзо покреће тестове и на тај начин штеди време и трошкове тестирања.
- Компатибилан са различитим прегледачима попут ИЕ, Фирефок, Цхроме и ХТМЛУнит.
- Извршава тестове у стварном прегледачу. То је као да тестирате у стварном окружењу - оном које би корисник видео.
- Олакшава регресијско тестирање. Можете покренути Геб аутоматизоване тест случајеве да бисте проверили да ли се нека постојећа функционалност квари након поправке или промене у апликацији.
- Док користите Геб за тестирање аутоматизације, потребне су минималне промене кодова за тестирање ако у вашој апликацији постоје промене корисничког интерфејса. Дакле, смањује напор и дуплицирање кода.
- Помаже покривеност тестирања од 360 степени (или максимално) у оквиру једне скрипте.
Предуслови
Пре него што започнемо, морамо да преузмемо и инсталирамо софтвер. У централном спремишту Мавен, Геб је доступан као једна тегла са језгром Геб. Кликните овде да бисте га инсталирали на машину.
Требаће вам горња јар са језгром Геб, имплементација веб управљачког програма и јар са подршком за селен да бисте Геб радили на вашој машини.
Погледајте доњи одељак о инсталацији и употреби књиге Геб да бисте инсталирали алат и покренули га => Геб приручник за инсталацију и употребу .
Почетак
Као што је већ речено, Геб се може интегрисати са различитим оквирима за тестирање.
У зависности од оквира који сте изабрали, мораћете да инсталирате повезани додатак.
На пример : Граилс ( Грал је врло познати оквир за веб апликације) за писање скрипти за аутоматизацију и аутоматизацију сценарија за тестирање. Ако желите да користите Геб за своје Граилс функционално тестирање, одатле можете да инсталирате одговарајући додатак додатак граилс-геб . Овај додатак обрађује басеУрл и репортДир ставке конфигурације.
Учите на примеру
Дозволите ми да сада покажем како да напишем Геб скрипту за аутоматизацију тестног сценарија.
Узмите следећи тестни сценарио:
ИД сценарија теста | Софтваретестингхелп-1 | Ид случаја | Софтваретестингхелп -1А |
Излаз | |||
Опис тест случаја | Проверите страницу Софтваретестингхелп.цом путем претраживача | Статус скрипте за аутоматизацију | У току |
Предуслов | 1 прегледач 2. претраживач 3. веб локација - Софтваретестингхелп.цом треба да постоји | Предуслов за скрипту | НА |
Кораци извршења су:
Покрените Гоогле претраживач |
Проверите да ли је претраживач успешно учитан |
У поље за претрагу унесите софтваретестингхелп.цом |
Сачекајте да се резултати учитају |
Проверите да ли прва веза у резултатима води ка софтваретестингхелп.цом |
Ако је одговор да, отворите везу. |
Сачекајте док се веб локација не отвори. |
Ево скрипте алата за аутоматизацију Геб за горњи сценарио:
import geb.Browser Browser.drive { go 'http://google.com/' //verify if we are on the correct page assert title=='Google' //enter softwaretestinghelp.com into the search field $('input',name:'q').value('softwaretestinghelp.com') //wait for the change to results page to happen //(google updates the page dynamically without a new request) waitFor{ title.endsWith('Google Serach')} //is the first link to softwaretestinghelp.com? def firstLink = $('li.g,0).find('a.l') assert firstLink.text()= ='Software Testing Help - A Must Visit Software Testing Portal' //click the link firstLink.click() //wait for Google's javascript waitFor { title = ='Software Testing Help - A Must Visit Software Testing Portal' } }
Сада можете сами покушати да напишете једноставну ГЕБ скрипту позивајући се на горњи пример.
Тестирање валидације базе података путем Геб скрипте:
Свако тестирање аутоматизације на мрежи подељено је у три дела:
- Провера УИ - Потврђивање ваљаности података који се одражавају на корисничком интерфејсу (предњи крај) пре и након покретања сценарија за аутоматизацију.
- ДБ валидација - Провера ваљаности података који се одражавају у бази података (позадина) пре и након покретања сценарија за аутоматизацију.
- Стварни проток теста / проток скрипте.
Геб-ова скрипта написана за аутоматизацију тестног сценарија може садржати код за сва три горе наведена одељка.
Геб скрипта у горњем одељку примера била је за аутоматизацију пробног тока и валидацију корисничког интерфејса. Слично томе, можете написати тест скрипту за валидацију базе података.
За било који тест валидације ДБ-а, увек можете користити доњи образац као структуру кода:
def validateDB(/*define all variables here*/) { def errorMessages = '' try { Configuration conf = (new ConfigurationLoader()).getConf() def sql = Sql.newInstance(conf.readValue('dbPath', ''), conf.readValue('dbUserName', ''), conf.readValue('dbPassword', ''), conf.readValue('dbDriverName', '')) /* Populate any required variables */ } /* Give print commands here to print required values */ def qry = /* select statement to pull all required values from database */ println 'SQL=$qry' sql.eachRow(qry) { row -> /* ‘if’ block to perform validation and returning error in case of any variations */ } catch(Exception e) { println 'EEEE=$e' } return errorMessages }
Неколико корисних метода у гебу
- Када сценариј тест случаја укључује више картица и прозора: Кад год наиђете на апликацију која отвара нове прозоре или картице, На пример када кликнете на везу са постављеним циљним атрибутом, можете да користите витхВиндов () и витхНевВиндов () методе за извршавање кода у контексту других прозора.
- Метод погона: Класа прегледача садржи статички метод - погон() . Ова метода даје додатну погодност Геб скриптирању. Сви позиви метода највишег нивоа и приступи својствима подразумевају се против браузера.
- Правити захтеве: Примери прегледача подржавају а басеУрл својство које се користи за решавање свих релативних УРЛ-ова. Обично је најпожељније дефинисати своје основне УРЛ-ове пратећим косим цртама, а не користити водеће косе црте на релативним УРЛ-овима.
- Промена странице: Уз помоћ корисних страна() методе, могуће је променити инстанцу странице без подношења новог захтева.
- Затварање прегледача: Објекат прегледача пружа одустати() и Близу() методе (које једноставно предају задатак основном управљачком програму).
Недостаци овог алата
- Рођен извршава ВебДривер на језику Гроови. Цела идеја која стоји иза овога је коришћење ВебДривер лакше и једноставније. Дакле, када користите Вебдривер преко Геба, биће подржан само програмски језик Гроови. Али, ако директно користите ВебДривер , подржава многе језике попут Руби, Ц #, Питхон, Јава.
- Не бих предлагао употребу Геба за мале пројекте - делује сјајно за огромне задатке, али погађа мале активности. Ако ваша веб апликација не садржи више страница и образаца кроз које информације треба да прођу, можда ћете открити да Геб заиста кошта додатно време него што га штеди.
- Врло је прецизно о томе које окружење користи ваша апликација за веб странице. Од Геба се захтева да се добро интегрише у одређено окружење да би оно функционисало у реду.
Више ресурса:
- Погледајте Књига о Гебу овде за детаљну документацију и примере.
- Ево примера пројекта који приказује интеграција Геба са граловима .
Закључак
Геб је веома користан у аутоматизацији сценарија тест случајева. Корисно је аутоматизовати веб, функционално и корисничко тестирање. Подржава више прегледача и може се интегрисати са различитим оквирима. Комбинује снагу ВебДривера, елеганцију јКуери Селецтион-а, робусност Паге Обликовања објеката и изражајност Гроови-а.
Геб скрипте су и развојне и корисничке, пружајући бољу покривеност тестом и убрзано тестирање, истовремено чинећи га ефикаснијим.
О аутору: Ово је гост Прииа К. Има више од 4 године искуства у ИТ услугама са стручношћу у тестирању и подршком за разне апликације.
Слободно објавите своје упите о тестирању аутоматизације Геб у коментарима.
Препоручено читање
- Водич за алат за тестирање приступачности ВАВЕ-а
- Водич за Ранорек: Моћан алат за тестирање аутоматизације за радне површине, веб и мобилне уређаје
- Сикули ГУИ алат за аутоматизацију - Водич за почетнике, део 2
- Водич за КП Паррот: Преглед алата за тестирање више прегледача
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Дубински водичи за помрачење за почетнике
- Шта је испитивање аутоматизације (ултимативни водич за покретање аутоматизације теста)
- Водич за Парасофт СОАтест: Алат за тестирање АПИ-ја без скрипти