descriptive programming qtp
У овом упутству ћете научити шта је Описно програмирање у КТП-у , и Веза базе података у КТП-у тј. како се помоћу КТП-а повезати са спољним изворима података као што су базе података и МС Екцел листови.
Описно програмирање је механизам за креирање тестова где користите 'Програмски опис' објеката уместо да их снимате.
=> Кликните овде за серију КТП Туториалс Траининг
Кратка напомена о овој серији чланака о КТП-у пре него што пређемо на детаље овог водича:
Ово је последње упутство у нашој интернетској серији КТП тренинга. Надам се да сте сви уживали у овим водичима и почели да учите од њих.
Пошаљите нам повратне информације:
Тражим ваше повратне информације не само за ову серију водича већ и о целокупној веб локацији. Молимо вас кликните овде да бисте поделили своја размишљања о овој веб страници. Тешко да ће требати пар минута да се заврши. Ценимо ваше повратне информације и сугестије. Јавите нам шта можемо учинити да побољшамо ваше искуство са СофтвареТестингХелп.цом
најбоље место за бесплатно гледање синхронизованог анимеа
Шта ћете научити:
Описно програмирање у КТП-у
Описно програмирање је механизам за креирање тестова где користите 'Програмски опис' објеката уместо да их снимате.
Коришћењем ове технике КТП се може направити за идентификацију објеката који нису у спремишту.
Постоје 2 варијације описног програмирања:
- Статичко описно програмирање
- Динамичко описно програмирање
Статичко описно програмирање
Статичка метода је када покушате да приступите објекту помоћу скупа својстава и вредности директно у ВБ изразу.
Синтакса: ТестОбјецт („Назив својства1: = вредност својства“, „име својства 2: = вредност својства“,… .н)
Ево како га користите:
пример хеш табеле ц ++
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Динамичко описно програмирање
Ово функционише стварањем објекта описа. Погледајте следећи пример да бисте креирали објекат вебБуттон.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- мицЦласс се односи на предефинисане класе у КТП-у. Вредности које можете доделити могу бити веб дугме, веб листа итд.
- У КТП 10 вредности микро класе разликују велика и мала слова, али у КТП 11 надаље нису. Ако веб тастер напишете у КТП 10, неће успети. Мораћете да напишете вебБуттон. Али исти веб тастер ће проћи и у КТП 11.
Можете издвојити све објекте одређене класе на страници помоћу следеће изјаве:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Горњи скуп изјава издвојит ће сва дугмад на страници и похранити их у објект ОбјецтЛист.
Свестраност употребе описног програмирања је да ће ови редови кода радити на било којој отвореној страници. Можете да отворите гоогле.цом у свом прегледачу и он ће избројати колико је дугмади на тој страници. Потпуно ће радити на исти начин ако сте отворили амазон.цом или било коју другу страницу.
То је зато што имамо назив наслова странице постављен на * што је регуларни израз.
Дакле, можете видети како можемо написати код који се може користити у више наврата тако што неће бити тешко кодирати вредности својстава и стварање објеката током извођења .
Узмимо наш пример мало даље. Рецимо да покушавам да одштампам имена свих веб дугмади на страници једно за другим.
Ако се на страници налазе 4 дугмета, сваком од њих можете приступити на следећи начин:
Мсгбок ОбјецтЛист (0) .ГетРоПроперти („наме“) - Ово ће исписати име првог дугмета.
Мсгбок ОбјецтЛист (1) .ГетРоПроперти („име“)
Мсгбок ОбјецтЛист (2) .ГетРоПроперти („име“)
Мсгбок ОбјецтЛист (3) .ГетРоПроперти („име“)
Напоменути да:
- Индекс подређених објеката почиње од 0
- С обзиром да објекат постиже своја својства током извођења, користимо методу ГетРоПроперти да бисмо га преузели.
Горњи код можемо променити тако да ради за било који број дугмади на страници помоћу „Фор лооп“ и понављања изјава унутар „Фор блоцк“ све док не стигне до краја бројања објеката.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Коришћење „петље Фор“ је боље јер у овом случају не треба да знате колико се објеката налази у вашем објекту описа.
Неколико напомена:
- Требаће вам вежба за савладавање описног програмирања. Без обзира колико примера погледате и разумете, биће вам потребно практично искуство да бисте заиста са њим радили.
- Као испитивач, не очекује се да знате како су објекти кодирани у ваш АУТ и на које вредности су постављени. Зато користите ОбјецтСпи с времена на време да бисте изабрали права својства за приказ својстава.
- Резултати теста ће указати на то да је тест објект креиран динамички током сесије покретања користећи опис програмирања или методе ЦхилдОбјецт.
Повезивање са уобичајеним спољним изворима података са КТП-а
Током припреме тестова биће много случајева које ћете морати да повежете са спољном ДБ или неким другим изворима података. Једном када се повежете, такође ћете морати да преместите податке у и из ових апликација на КТП и обрнуто.
Иако је изван делокруга ових чланака пружање комплетног водича за рад са спољним интерфејсима, размотрићемо неколико најчешће коришћених.
Веза базе података у КТП-у
За повезивање са базом података обично користимо објекат АДО везе. АДО је Мицрософтов АцтивеКс објект података.
Следе кораци које треба следити:
# 1) Направите ДСН. Погледајте водич за проверу базе података да бисте видели како се то ради или га направите на контролној табли.
#два) Направите објекат везе:
Постави цонн = ЦреатеОбјецт („АДОДБ.цоннецтион“)
# 3) Направите објекат скупа записа. Објекат Рецордсет садржи резултате упита који ћемо покренути.
Поставите рс = ЦреатеОбјецт („АДОДБ.РецордСет“)
# 4) Отворите објекат везе и покрените упит:
цонн.Опен “ДСН = тестДБ2; УИД = сватисеела; пвд = тестинг @ 123”
рс.Отворите „Селецт * фром абц“, цонн
# 5) Свим резултатима упита сада се може приступити помоћу објекта „рс“.
# 6) На пример, ако желите да добијете број враћених редова, можете да користите
рс.гетровс
# 7) На пример, табела има 2 реда и 3 колоне (а, б, ц), можете приступити вредностима на следећи начин:
Мсгбок рс.фиелдс (0) .а
Мсгбок рс.фиелс (0) .б
Мсгбок рс.фиелдс (0) .ц
# 8) Изјаву петље можете користити ако има превише вредности којима се може приступити.
# 9) Неке од функција које објекат скупа записа може да користи су: рс.мове, рс.мовенект, рс.гетровс, рс.цлосе, рс.опен итд.
Погледајмо сав код одједном:
која је разлика између осигурања квалитета и контроле квалитета
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
Повезивање са МС Екцел листовима
Сви знамо да када отворимо Екцел апликацију, цела датотека је радна свеска која има листове са колонама и редовима у које уносимо податке.
Следи код и коментари који ће вам помоћи да разумете како се то ради.
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
Поред горе наведених функција, имамо следеће које можемо користити у зависности од ваших потреба.
- екцелобј.ацтивеворкбоок.схеетс.адд - Да бисте додали нови лист
- екцелобј.ацтивеворкбоок.схеетс (и) .делете - Да бисте избрисали лист са индексом и
- екцелобј.ацтивеворкбоок.схееетс (и) .наме = “Име по вашем избору” - Да бисте променили име листа индексом и.
- к = екцелобј.ацтивеворкбоок.схеетс.цоунт - да бисте добили број колико је листова у радној свесци
- екцелобј. ацтивеворкбоок.савес “ЦомплетеПатхВитхНевНаме.клс” - да радну свеску сачувате под новим именом
Овим се завршава не само овај чланак, већ и наша КТП серија тренинга. У следећем чланку ћемо обрадити неке важније Питања за КТП интервју са одговорима . Обавестите нас о својим коментарима и питањима.
=> Посетите овде за серију КТП Туториалс Траининг
Пратите још корисних чланака и водича о тестирању софтвера! Ако нисте претплаћени на наш бесплатни билтен е-поште, учините то одмах до кликните овде .
Препоручено читање
- КТП водичи - Водичи за обуку за професионалне стручњаке за брзи тест (КТП) од 25+
- Параметрирање у КТП-у (2. део) - КТП водич # 20
- КТП водич # 18 - Хибридни оквири вођени подацима и објашњени примерима КТП-а
- Параметрирање у КТП-у објашњено примерима (1. део) - КТП водич # 19
- КТП туториал # 6 - Разумевање КТП подешавања снимања и покретања за наш први тест
- КТП водич # 24 - Коришћење виртуелних објеката и сценарија опоравка у КТП тестовима
- МонгоДБ Водич за креирање базе података
- Тестирање базе података помоћу ЈМетер-а