qtp tutorial 18 data driven
Радимо на начин да смислимо како да изведемо на Оквир за аутоматизацију који најбоље одговара за одређени пројекат тестирања и такође дефинише одређене оквире који већ постоје.
Пример који смо користили у претходни чланак КТП оквира је креирао нови Гмаил налог.
За почетак смо кодирали креирање новог сценарија налога само линеарним снимањем и репродукцијом. Увидевши како му недостаје модуларност, читљивост и поновна употребљивост, рашчланили смо га на функције које би се могле означити као кључне речи које се крећу напред.
=> Кликните овде за серију КТП Туториалс Траининг
Овом методом смо постигли модуларност, читљивост и поновну употребу, али је требало да програм учинимо још робуснијим тако да може узимати различите скупове вредности без потребе за модификовањем саме скрипте.
Управо то ћемо постићи подацима вођеним тестовима.
Шта ћете научити:
Оквир аутоматизације на основу података који користи КТП
Стварање више Гоогле корисничких налога је задатак који ћемо покушати да обавимо помоћу овог оквира.
У претходном примеру, чврсто смо кодирали име, презиме, детаље о корисничком ИД-у итд., Док смо покушавали да направимо налог. Морат ћемо одвојити код од података ако желимо постићи аспект управљања подацима за ову скрипту.
Подаци треба да потичу из извора који није сам програм.
Унос података обично може бити било шта:
- МС Екцел датотеке
- База података
- Текстуалне датотеке
- КСМЛ датотеке ... итд.
Екцел датотеке су оне које се најчешће користе. Сама чињеница да свака радња у КТП долази интегрисана са сопственим подацима, објашњава зашто је то тако.
како применити двоструко повезану листу у јави
Можете користити један или више извора података за једну скрипту. Екцел лист који долази са радњом се може користити или можете користити и спољни Екцел лист. У основи, технички лист може бити било која релевантна спољна датотека.
На пример,
Ово је код који треба да управљамо подацима:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Сви подаци су тренутно кодирани. Погледајмо сада како можемо узети ове вредности из листа са подацима.
Идите на стручни приказ изјаве у КТП-у и кликните на колону вредности за корак. Отвара се следећи прозор:
Изаберите опцију параметра, одаберите име параметра (то ће бити име колоне у листу са подацима) и одаберите да ли ћете користити глобални лист или локални лист (глобални лист је доступан за све радње у тесту, али локални лист је специфичан за тренутну акцију).
За поље „Име“ на екрану, КТП пружа подразумевану вредност. Корисник има могућност да остане исти или да га промени.
Кликом на дугме У реду креираће се нова колона у табели података.
Овако изгледа табела података која садржи 3 скупа имена, презимена и ИД налога:
Једном параметризован, код изгледа овако:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Ако морамо да креирамо ова 3 корисничка ИД-а са подацима у листовима, треба да имамо 3 итерације. Понављање није ништа друго до пробни рад.
Једном када се подаци поставе, морат ћемо упутити КТП колико пута треба овај код да се покрене или колико итерација.
Ево како то радимо: Идите на Филе-> Сеттингс и Рун (кликните на слику за увећање)
јава додај на крај низа
На горњем екрану поставите својства итерације по потреби.
Алтернативно, можете програмски упутити КТП о итерацијама. Као и увек, ово омогућава већу контролу и такође више вештина програмирања. Дакле, заиста је на нивоу комфора тестера да одабере било коју од ових метода.
Компоненте у оквиру вођеном подацима су:
- Тест сцрипт
- Датотеке са подацима
- Заједничка функционална библиотека (ако постоји или може бити линеарни програм)
- Спремиште објеката (Поново, ова компонента неће постојати ако се за креирање објеката користи описно програмирање)
Резултати теста ће показати статус „Прошло“ или „Неуспело“ за сваку пробну вожњу.
Осим табеле података која долази подразумевано, можемо користити било коју спољну екцел датотеку као улазни лист.
Хибридни оквир
У горњем примеру сте користили кључне речи (имена функција које је корисник створио) и тестирали сте податке на основу података како бисте били сигурни да се истовремено креирају различити корисници. Ово није ништа друго до хибридни оквир.
Комбинација било која два или више оквира о којима смо до сада разговарали је хибридни оквир.
Према мом искуству, ниједан оквир не делује ефикасно за одређени пројекат. Хибридни оквир је оно што се најчешће користи.
Неколико важних тачака о оквирима:
- Оквир је само решење које је најбоље функционисало у одређеној ситуацији, али га не треба тумачити као скуп правила која треба дефинитивно следити. На то треба више гледати као на смернице.
- Можда се користи много других оквира, ми смо навели и објаснили само оне уобичајене
- Номенклатура - Различити људи се својим оквирима обраћају различитим именима. Дакле, ако се имена мало разликују од једне до друге апликације, то је нормално.
- Већина оквира може се користити заједно једни с другима када било који од њих не може пружити свеобухватно решење ваших циљева тестирања.
Закључак
Ради лакшег разумевања, овде смо заиста поједноставили концепте оквира. Ако имате било каквих проблема везаних за оквир са којима се суочавате и који нису обухваћени овим чланцима, обавестите нас. Свакако ћемо покушати да одговоримо на ваша питања. Слободно објавите своја питања.
=> Посетите овде за серију КТП Туториалс Траининг
Препоручено читање
- КТП Фрамеворкс - Тест Аутоматион Фрамеворкс - Примери вођени кључним речима и линеарни оквири - КТП водич # 17
- Како функционише тестирање на основу података (примери КТП и селена)
- Оквир вођен подацима у програму Селениум ВебДривер који користи Апацхе ПОИ
- Тестирање на основу података или параметризовано са Споцк Фрамеворк-ом
- Како извршити тестирање на основу података помоћу алата ТестЦомплете
- КТП водичи - Водичи за обуку за професионалне стручњаке за брзи тест (КТП) за више од 25+
- Рударство података: процес, технике и главни проблеми у анализи података
- Параметрирање у КТП-у објашњено примерима (1. део) - КТП водич # 19