Топ 100 на въпросите и отговорите за интервю за QTP / UFT през 2025 г
Този въпросник е разделен на въпроси за начинаещи и въпроси за напреднали. Ако имате опит в QTP, преминете към Въпрос #50. Все пак препоръчваме да прочетете ВСИЧКИ въпроси, тъй като това ще ви подготви за интервю.
Въпроси и отговори за QTP/UFT интервю за първокурсници
1) Какви са типовете хранилища на обекти в Micro Focus UFT.
QTP поддържа 2 типа хранилище на обекти
1) Споделено хранилище на обекти (наричано още глобално)
2) Обектно хранилище за действие (наричано още локално)
По подразбиране се използва обектно хранилище за действие. Разширението за хранилище за Per-Action е „.mtr“.
Споделеното хранилище на обекти е за предпочитане при работа с динамични обекти, които се извикват в множество тестове. Разширението е „.tsr“
👉 Безплатно изтегляне на PDF: Въпроси и отговори за QTP интервю
2) Кои среди се поддържат от HP QTP?
QTP поддържа следните среди
|
|
|
За да научите повече за добавките и как да ги използвате, гледайте това видео настойнически.
3) Можем ли да извикаме QTP тест от друг тест, използвайки скриптове. Да предположим, че има 4 теста и искам да извикам тези тестове в основен скрипт. Възможно ли е това в QTP?
да Можете да извикате 4 или дори повече скрипта във вашите тестове. За целта първо ще трябва да направите действията в съответните скриптове повторно използвани. След това от целевия скрипт можете да правите повиквания към тези многократно използвани действия.
4) Какво е разделяне на действие и целта на използването му в QTP?
Разделянето на действие е да се раздели съществуващо действие на две части. Целта е да се разделят действията въз основа на тяхната функционалност, за да се подобри повторното използване на кода.
5) Как ще се справите Java дърво в QTP?
Преди всичко ще изберете Java Добавяне – Влезте и стартирайте QTP. Следваща стъпка запис операции на Java Дърво. Ако срещнете проблем по време на запис, можете да изберете Инструменти > Идентификация на обект > Java, дървовиден обект и правете промени в задължителните и помощните свойства, за да позволите идентификация.
Съвет: Можете да базирате отговора си на подобни редове за всеки друг обект от всяка среда. Например: Ако въпросът е как ще се провери SAP отметка , Вие казвате, първо ще избера SAP Добавете ... и така нататък.
6) Обяснете как QTP идентифицира обект?
QTP идентифицира всеки GUI обект въз основа на съответните му свойства. Докато записвате, QTP ще идентифицира и съхранява специфични свойства (както е дефинирано в настройките за идентификация на обект) в обектното хранилище на GUI обекта. По време на изпълнение QTP ще сравни стойностите на съхранените свойства със свойствата на екрана, за да идентифицира уникално GUI обекта.
Научете повече за Идентификация на обект
7) Колко вида режими на запис в QTP? Кое кога ще се използва?
QTP поддържа 3 вида режими на запис
1. Нормален режим, наричан още контекстуален
2. Режим на запис на ниско ниво
3. Аналогов режим
Нормален режим: Това е режимът на запис по подразбиране и се възползва напълно от тестовия обектен модел на QTP. Той разпознава обекти независимо от тяхната позиция на екрана. Това е предпочитаният режим на прекодиране и се използва за повечето дейности по автоматизация.
Режим на запис на ниско ниво: Този режим записва точните x,y координати на вашите операции с мишката. Полезно е при тестване на hashmaps. Полезно е за запис на обекти, които не са идентифицирани от нормален режим на QTP.
Аналогов режим: Този режим записва точните „движения“ на мишката и клавиатурата, които извършвате по отношение на екрана/прозореца на приложението. Този режим е полезен за операции като рисуване на картина, запис на подпис, операции с плъзгане и пускане.
Научете повече за Режими на запис в QTP
8) Как ще се обадите от едно действие към друго действие?
Можем да извикаме действие по 2 начина
1) Извикване за копиране на действие. – В това хранилището на Action Object, скриптът и таблицата с данни ще бъдат копирани в целевия тестов скрипт.
2) Призив към съществуващо действие. – В това Object Repository, Script и Datable НЯМА да бъдат копирани, но ще бъде направено извикване (препратка) към действието в изходния скрипт.
9) Какво представляват виртуалните обекти?
Вашето приложение може да съдържа обекти, които се държат като стандартни обекти, но не се разпознават от QTP. Можете да дефинирате тези обекти като виртуални обекти и да ги съпоставите със стандартни класове, като бутон или поле за отметка. QTP емулира действието на потребителя върху виртуалния обект по време на сесията за изпълнение. В резултатите от теста виртуалният обект се показва така, сякаш е стандартен клас обект.
Да предположим например, че искате да запишете тест на уеб страница, съдържаща растерно изображение, върху което потребителят кликва. Растерното изображение съдържа няколко различни области за хипервръзки и всяка област отваря различна целева страница. Когато записвате тест, уеб сайтът съвпада с координатите на щракването върху растерното изображение и отваря целевата страница.
За да позволите на QTP да щракне върху необходимите координати по време на сесия за изпълнение, можете да дефинирате виртуален обект за област от растерното изображение, което включва тези координати, и да го картографирате към класа на бутона. Когато стартирате тест, QTP щраква върху растерното изображение в областта, дефинирана като виртуален обект, така че уеб сайтът да отвори правилната целева страница.
10) Как да извършите тестване на различни платформи и тестване на различни браузъри с помощта на QTP? Можете ли да обясните с някакъв пример?
Ще трябва да създадете отделни действия, които се грижат за различни операционни системи и браузъри
Кросплатформено тестване:
С помощта на вградената променлива на средата можете да изкопаете информацията за ОС.
напр. Платформа = среда („ОС“). След това въз основа на платформата трябва да извикате действията, които сте записали на тази конкретна платформа.
Тестване на различни браузъри:
Използвайки този код, напр. Browser(“Основни ценности”).GetROProperty(“version”) можете да извлечете браузъра и съответната му версия. Пример: Internet Explorer 6 или Netscape 5. Въз основа на тази стойност вие извиквате действията, които са подходящи за този браузър.
11) Какво е логическото име на обекта?
Логическо име е име, дадено от QTP при създаване на обект в хранилището, за да го идентифицира уникално от други обекти в приложението. Това име ще се използва от QTP за съпоставяне на името на обекта в скрипт със съответното му описание в хранилището на обекти. Пример: Browser(“Browser”).Page(“Guru99”) Тук Guru99 е логичното име на обекта.
12) Какво е описателно програмиране?
Обикновено обектът и неговите свойства трябва да бъдат записани в хранилището на обекти, за да може QTP да извършва действия върху него.
Използвайки описателно програмиране, вие не съхранявате обекта и стойностите на неговите свойства в хранилището на обекти, а споменавате двойката стойност на свойството директно в скрипта.
Идеята зад описателното програмиране не е заобикаляне на обектното хранилище, а подпомагане на разпознаването на динамични обекти.
Научете повече за Descriptive програмиране
13) Какви са свойствата, които бихте използвали за идентифициране на браузър и страница, когато използвате описателно програмиране?
Можете да използвате свойството име
пр: Browser("name:="xxx"").page("name:="xxxx"").....
OR
Можем също да използваме свойството „micClass“.
пр: Browser("micClass:=browser").page("micClass:=page")....
14) Можем ли да запишем приложение, работещо на отдалечена машина, използвайки QTP?
Да. можете да записвате отдалечено приложение, при условие че осъществявате достъп до приложението през локалния браузър, а не чрез дистанционно като citrix.
Ако все още не можете да записвате, препоръчително е да инсталирате QTP и приложението на една и съща машина
15) Обяснете ключовата дума CreateObject с пример.
Създава и връща препратка към обект за автоматизация
SYNTAX: CreateObject(servername.typename [, location])
Аргументи
име на сървър: Задължително. Името на приложението, предоставящо обекта.
тип име: Задължително. Типът или класът на обекта за създаване.
населено място: Не е задължително. Името на мрежовия сървър, където обектът трябва да бъде създаден.
Пример: Задайте IE = CreateObject(“InternetExplorer.Application”)
16) Можете ли да превключвате между Per-Action и Shared Object Repository? Ако да как?
Да. Можем да сменим. Отидете на Тест—>Настройки—>Ресурси. Тук имате възможност да изберете хранилища.
17) Какво е Object Spy? Как да го използвате?
Object Spy помага при определяне на свойствата и методите на обекта за време на изпълнение и тестване на приложението, което се тества.
Можете да получите достъп до шпионирането на обекти директно от лентата с инструменти или от диалоговия прозорец на хранилището на обекти Box.
Много е полезно по време на Descriptive програмиране
Научете повече за Обектен шпионин
18) Когато само поредните идентификатори могат да направят обект уникален, тогава защо не им се дава най-висок приоритет? Защо първо е задължително и следващо помощно. Защо не можем да използваме обикновени идентификатори директно?
Помислете за следното –
a) Ако два обекта се припокриват един върху друг, разпознаването на обект въз основа на местоположението няма да успее.
b) Ако се използва само разпознаване, базирано на индекс, вашият скрипт ще работи, но времето за изпълнение на скрипта ще се увеличи.
Следователно се използват задължителни и помощни свойства.
19) Какво е файловото разширение на кодовия файл в QTP?
Разширението на кодовия файл е script.mts
20) Обяснете накратко за QTP Automation Object Model.
Обектният модел за автоматизация на QTP се занимава с автоматизацията на самия QTP. Почти цялата конфигурация и функционалност, осигурени от QTP, са представени от QTP's Automation Object Model. Почти всички диалогови прозорци в QTP имат съответен обект за автоматизация, който може да задава или извлича чрез съответните свойства или методи в модела на обекта за автоматизация. Обектите за автоматизация на QTP могат да се използват заедно със стандартни VB програмни елементи като итеративни цикли или условни изрази, за да ви помогнат при проектирането сценарий по избор.
21) Каква е употребата на текстовата изходна стойност в QTP?
Стойностите на текстовия изход ви позволяват да заснемете текст, който се появява в тестваното приложение по време на изпълнение.
Ако са параметризирани, текстовите изходни стойности ще улавят стойности, появяващи се във всяка итерация, които ще бъдат съхранени в таблицата с данни по време на изпълнение за допълнителен анализ.
22) Какво е стъпка Generator?
Стъпка Generator позволява използването за добавяне на тестови стъпки във вашия скрипт. С помощта на генератор на стъпки можете да добавяте стъпки към вашия скрипт, без всъщност да го записвате.
23) Как да накарам QTP да разбере разликата между един и същи тип обекти. Да предположим, че има 5 квадратчета за отметка на страница и трябва да избера второто, как да направя това чрез скрипт?
Можете да използвате поредни идентификатори като индекс заедно с малко описателно програмиране за разпознаване на обекти.
Гледайте видео от този пример.
24) Какво представлява Test Fusion Report?
Test Fusion Report показва всички аспекти на тестовото изпълнение и е организиран в дървовиден формат.
Той дава подробности за всяка стъпка, изпълнена за всички итерации.
Той също така дава таблица с данни по време на изпълнение, екранни снимки и филм от тестовото изпълнение, ако е избрано.
25) Как можете да обработвате изключения в QTP?
В QTP Изключителната обработка се извършва чрез използване
а. Сценарии за възстановяване.
b. Използване на изявление „При грешка“.
В сценария за възстановяване трябва да дефинирате.
1. Задействани събития.
2. Стъпки за възстановяване.
3. Тестово изпълнение след възстановяване.
На ниво скрипт можете да използвате оператора On Error Resume Next и On Error Go to 0.
26) Какви са типовете променливи на средата в QTP?
Променливите на средата в QTP са от три типа:
1) Вграден (само за четене)
2) Вътрешен, дефиниран от потребителя (само за четене)
3) Дефиниран от потребителя външен (четене/запис)
Задавате променливата на средата, като използвате следния синтаксис
Environment.Value( "name") = "Guru99"
Можете да извлечете променливата на средата, като използвате следния синтаксис
Environment.Value("name")
— Това ще върне името като Guru99
Environment.Value("OS")
— Това ще върне операционната система на вашата система
27) Каква е разликата между точка за проверка на Bitmap и точка за проверка на изображение?
Bitmap checkpoint прави сравнение пиксел към пиксел на изображение или част от изображение.
Контролната точка на изображението прави сравнение пиксел към пиксел, но вместо това сравнява свойствата на изображението като алтернативен текст, целеви url и т.н.
28) Каква е разликата между функциите и действията в QTP?
Действията имат собствено хранилище на обекти и таблица с данни. Действията помагат да направите вашия тест модулен и да увеличите повторната употреба. Пример: Можете да разделите скрипта си на действия въз основа на функционалност като влизане, излизане и др.
Функциите са концепция за програмиране на VB Script и нямат собствено хранилище на обекти или таблица с данни. Функциите помагат при повторната употреба на вашия код. Пример: Можете да създадете функция във вашия скрипт, за да свържете два низа.
29) Какво е изглед на ключови думи и експертен изглед в QTP?
Изгледът на ключови думи е изглед, базиран на икони, който показва стъпките на теста в табличен формат. Освен това автоматично генерира документация за стъпките на теста.
Експертният изглед дава съответния оператор на VB Script за всяка тестова стъпка в изгледа на ключови думи.
30) Обяснете процеса на тестване на QTP?
Процесът на тестване на Quick Test се състои от 6 основни фази:
1) Създайте своя тестов план – Това е подготвителна фаза, в която идентифицирате точните тестови стъпки, тестовите данни и очакваните резултати за вашия автоматизиран тест. Вие също така идентифицирате средата и системните конфигурации, необходими за създаване и изпълнение на вашите QTP тестове.
2) Записване на сесия на вашето приложение – По време на тази фаза вие ще изпълнявате тестови стъпки една по една на вашия AUT и QTP автоматично ще записва съответните VB скриптови изрази за всяка извършена стъпка.
3) Подобряване на вашия тест – В този етап ще вмъкнете контролни точки, изходни стойности, параметризация, програмна логика като if…else цикли, за да подобрите логиката на вашия тестов скрипт.
4) Повторно възпроизвеждане и отстраняване на грешки – След подобрения ще пуснете отново скрипта, за да проверите дали работи правилно и ще отстраните грешки, ако е необходимо.
5) Изпълнете своите тестове – В тази фаза ще извършите действителното изпълнение на вашия тестов скрипт.
6) Анализиране на резултатите от теста – След като тестовото изпълнение приключи, ще анализирате резултатите в генерирания отчет Test Fusion.
7) Докладване на дефекти – Всички идентифицирани инциденти трябва да бъдат докладвани. Ако използвате Център за качество, дефектите могат да бъдат автоматично повдигнати за неуспешни тестове в QTP.
31) Какви са различните типове рамки за автоматизация на тестове?
Видовете рамки за автоматизация са –
1) Линеен скрипт – запис и възпроизвеждане
2) Тестовата библиотека Archiтектурна рамка.
3) Рамката за тестване, управлявана от данни.
4) Рамката за тестване, управлявана от ключови думи или таблици.
Научете повече за Рамки за автоматизация на тестове.
32) Как ще проверите уеб приложение за повредени връзки с помощта на QTP?
Можете да използвате контролната точка на страницата, която дава брой валидни/невалидни връзки на страница.
33) Какво е таблица с данни по време на изпълнение? Къде мога да намеря и видя тази таблица?
Данни като параметризиран изход, стойности на контролни точки, изходни стойности се съхраняват в таблицата по време на изпълнение. Това е xls файл, който се съхранява в папката с резултати от теста. Може да бъде достъпен и в Test Fusion Report.
34) Каква е разликата между контролна точка и изходна стойност.
Контролната точка е точка за проверка, която сравнява текуща стойност за определено свойство с очакваната стойност за това свойство. Въз основа на това сравнение ще генерира състояние PASS или FAIL.
Изходната стойност е стойност, уловена по време на тестовото изпълнение и може да се съхранява на определено място като Datable или дори променлива. За разлика от контролните точки, не се генерира състояние PASS/FAIL.
35) Как бихте се свързали с база данни с помощта на VBScript?
За да се свържете с базата данни, трябва да знаете
а) низ за свързване на вашия сървър
б) потребителско име
в) парола
d) DNS име
Можете да кодирате директно командата за свързване на базата данни или можете да използвате SQL Инструмент за заявки, предоставен от QTP.
36) Какво представлява инструментът за пакетно тестване на QTP?
Можете да използвате инструмента за пакетно тестване, за да изпълнявате множество скриптове. След като скриптовете бъдат добавени в инструмента, той автоматично ще отвори скриптовете и ще започне да ги изпълнява един след друг.
37) Какви са недостатъците на QTP?
От QTP версия 10
1) Огромните тестове в QTP консумират много памет и увеличават използването на процесора.
2) Тъй като QTP съхранява резултатите в HTML файл (а не в txt), папката с резултати понякога става голяма.
38) Какво е незадължителна стъпка?
Стъпка, когато е обявена за незадължителна, не е задължителна за изпълнение. Ако съответният GUI обект е наличен, QTP изпълнява операцията върху него. Ако GUI обектът не присъства, QTP заобикаля незадължителната стъпка и продължава към изпълнение на следващата стъпка.
39) Какво е Reporter.ReportEvent?
Reporter.Reportvent е стандартен метод, предоставен от QTP за изпращане на персонализирани съобщения до прозореца с резултати от теста.
Синтаксис
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath] where EventStatus = 0 or micPass 1 or micFail 2 or micDone 3 or micWarning
Резултатите могат да приемат произволен статус като Успешен, Неуспешен, Предупреждение и т.н. Можете също да изпратите екранна снимка в прозореца с резултатите от теста.
40) Как ще декларирате променлива в QTP?
Вие декларирате с помощта на ключова дума DIM. Присвоявате стойност на променливата с помощта на ключовата дума SET.
Ex.
Dim temp 'Ще декларира променливата temp
Set temp = 20 ' Ще присвои стойност 20 на temp.
41) Какво е GetRoProperty?
GetRoProperty е стандартен метод, предоставен от QTP за извличане на стойности на свойства на обект по време на изпълнение.
42) Какво е интелигентна идентификация?
Обикновено, ако дори едно от свойствата на обекта на екрана не съвпада със записаното свойство на обекта. Тестът се проваля.
При интелигентната идентификация QTP не дава грешка, ако стойностите на свойствата не съвпадат, но използва свойствата на основния филтър и допълнителния филтър за уникално идентифициране на обект. При интелигентна идентификация, ако стойността на свойство не съвпада, скриптът не се проваля, но продължава напред, за да сравни следващото свойство. Интелигентната идентификация може да бъде активирана в диалоговия прозорец за идентификация на обект.
Научете повече за SMART идентификация
43) Как бихте експортирали скрипт от един компютър на друг в QTP?
Можем да използваме функцията „Генериране на скрипт“, налична в раздела „Идентификация на обекти“, „Настройки на теста“ и „Инструменти/Опции“, за да създадем zip файл на скрипта на изходния компютър. След това тези zip файлове могат да бъдат импортирани в QTP на целевия компютър.
44) Могат ли да се стартират два екземпляра на QTP на една и съща машина?
Не. Можете да работите само с едно копие на QTP на една и съща машина. Но самият QTP може да работи върху множество екземпляри на Тестваното приложение (AUT). Пример: QTP може да обработва множество прозорци на IE браузър.
45) Дайте синтаксиса за импортиране/експортиране на xls в QTP.
DataTable.ImportSheet "..\..\TestData\Input.xls",1,dtGlobalSheet
DataTable.ExportSheet "..\..\Results\Output.xls","Global"
46) Какво е SetToProperty?
SetToProperty променя свойството на обект, съхраняван в хранилището на обекти. Тези промени обаче не са постоянни.
47) Какво е стандартното забавяне на времето за уеб базирано приложение в QTP?
Стандартното забавяне е 60 секунди. Това може да се промени в настройките на теста.
48) Какво представлява инструментът за преобразуване на действия?
Това е вграден инструмент, предоставен от QTP за преобразуване на действия в компоненти на бизнес процеси.
49) Какво е разширението за функционална библиотека?
Удължението е '.QFL'
50) Ако глобалният лист с данни не съдържа данни, а локалният лист с данни съдържа два реда данни, колко пъти ще повтори тестът?
Тестът ще се повтори само веднъж – глобална итерация.
UFT/QTP Интервю Въпроси и отговори за опитни
51) Обяснете как да четете ключ на системния регистър в UFT?
Примерът, показан тук, обяснява как да четете ключ на системния регистър в UFT
‘Create a shell object Set MyShell= CreateObject (“WScript.Shell”) Read the value of key from the registry RegValue =MyShell.RegRead (varpathofkey) ‘in above function we have to pass the path of key in registery’. e.g. HKCU\software\ie\settings msgbox RegValue
52) Какви са начините в UFT за получаване на променливи на системната среда в UFT?
Има три начина за получаване на променливи на системната среда в UFT
Използвайте обекта WSH shell
- Използвайте Win32_Environment Class на WMI
- Прочетете променливи от системния регистър
Set myShell = CreateObject (“WScript.Shell”) WScript.Echo myShell.ExpandEnvironmentStrings( "%PATHEXT%" ) myShell=Nothing,
Резултатът ще бъде .BAT;.CMD;.VBS;. VBE;. JS;. JSE
Друга потребителска променлива, като TEMP, презаписва своя системен аналог
Set myShell = CreateObject( "WScript.Shell" ) WScript.Echo myShell.ExpandEnvironmentStrings( "TEMP=%TEMP%" ) myShell=Nothing
Резултатът ще бъде
TEMP:C:\DOCUME~1\You\LOCALS~1\Temp
53) Споменете стъпките, необходими в UFT за изпращане на имейл от Outlook?
За да изпратите имейл от Outlook в UFT,
Set Outlook = CreateObject ("Outlook.Application") Dim Message 'As Outlook.MailItem Set Message = Outlook.CreateItem(olMailItem) With Message .Subject = Subject .HTMLBody = TextBody .Recipients.Add (aTo) Const olOriginator = 0 .Send End With
54) Обяснете как можете да извличате данни от база данни в UFT?
За да извлечете данни от база данни в UFT, трябва да следвате кода по-долу
Set db= createobject (“ADODB.Connection”) db.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\guru99\vb6\admission_project.mdb; Persist Security Info= False” Set rst=createobject(“ADODB.Recordset”) rst.Open “select*from Course”, db, 3 id=rst. RecordCount For i=0 to id-1 Print rst.field (0) & rst.fields (1) & rst.fields (2) & rst.fields (3) rst.Movenext Next
55) Какви са кодовете, които можем да използваме за получаване на файлове от ftp сървър в UFT?
За да получите ftp файлове от ftp сървър, трябва да използвате кода по-долу
a) put- За съхраняване на един файл на сървъра
b) get- За изтегляне на един файл от ftp сървър
c) mget- За изтегляне на множество файлове от сървъра
d) mput- За съхраняване на множество файлове на сървъра
д) изтриване- За изтриване на файлове на ftp сървър
MyShell.Run "%comspec% /c FTP -n -s:" & commandstoworkwithftp & " " & Site, 0,True
56) В UFT как можете да предотвратите заключването на системата?
За да предотвратите блокиране на системата, можете да използвате всеки от двата начина
- Създайте прост vbs файл с код за натискане на клавиша numlock и стартиране на този vbs файл
- Редактирайте един ключ на системния регистър „DisableLockWorkstation =1“, за да деактивирате заключването
57) Какво означава описателно програмиране в UFT?
DescriptПрограмирането включва име на свойство и стойност на свойство. Всеки път, когато UFT е изправен пред трудности при идентифицирането на обекти от обектно хранилище и вместо това обектът се идентифицира директно от скрипта, това е известно като описателно програмиране.
58) В UFT обяснете разликата между qfl и vbs файловете?
a) qfl е файл с библиотека с функции за бърз тест, докато vbs е Microsoftvbscript на
b) qfl е неизпълним файл, докато vbs е изпълним файл
c) За да използвате файл в UFT, асоциирайте qfl файл от тестовата настройка, докато за да включите vbs файл, използвайте „изявление за изпълнение на файл“
59) Какъв е кодът за запис на данни в текстов файл в UFT?
Записването на данни в текстов файл в UFT код е
Content = “Guru99 Rocks” Set Fo = createobject ("Scripting.FilesystemObject") Set f = Fo.openTextFile ("c:\myFile.txt",8,true) ' open in write mode f.Write (contents) f.Close Set f = nothing
60) Как да записвам данни във файл на Excel в UFT?
Код за запис на данни Excel файл в UFT е
filepath = “C:\Bugs\Reports.xlsx” Set objExcel = CreateObject(“Excel.Application”) objExcel.Visible= True Set Wb= objExcel.Workbooks.Open (filepath) Wb.worksheets(1).Cells(1,1).Value = “guru99” read value from Excel file
61) Как да създадете TSR файл в UFT?
TSR означава Тестово споделено хранилище, създадено е за споделяне на обектно хранилище.
За да създадете TSR файл, следвайте стъпките
- Отворено хранилище на обекти
- Отидете в менюто с файлове
- Отидете на опцията за експортиране на локални обекти и я изберете
След това UFT ще ви помоли да съхраните .tsr файл. Дайте пътя и спестете. Това ще създаде .tsr файл в UFT
62) Как да се свържа с QC в UFT?
За да се свържете с QC, UFT предоставя опция за свързване на QC директно от UFT GUI.
a) Отидете в менюто Файл
b) Изберете (QC) център за качество
c) Ще бъдете помолени да – Въведете QC url
d) Въведете потребителско име, парола и проект
Следването на горните стъпки ще ви позволи да се свържете с QC, по-късно можете да изпълните тестовете от самия QC.
63) Какви са видовете рамка за автоматизация в UFT?
За да се улесни процеса на автоматизация на тестове с помощта на UFT, е проектирана автоматизация на тестове. В UFT има основно три вида рамки за автоматизация
- Основана от ключови думи рамка: Използва се, когато трябва да се тества множество функции.
- Управлявана от данни рамка: Използва се за тестване на един и същ поток с различни тестови данни, на тестовите данни се придава по-голямо значение от множеството функционалности на приложението
- Хибридна рамка: Това е комбинация от управлявана от данни рамка и ключова дума.
64) Кога трябва да използваме описателно програмиране в UFT?
Или чрез хранилище на обекти, или програмиране на описание, UFT идентифицира обекти. Descriptive програмиране се използва в следните сценарии
а) Използва се за премахване на дублирани обекти. Едни и същи обекти съществуват в различни екрани или прозорци на вашето приложение. Ако използвате ИЛИ в този случай, трябва да съхранявате един и същ обект под различна обектна йерархия в ИЛИ. За справяне с такава ситуация, описателно
използва се програмиране
b) Не е подходящо при определени сценарии да се съхраняват обектите в OR (Object Repository). Да предположим, че ако искате да отпечатате 100 връзки на страницата, не трябва да съхранявате всички връзки в ИЛИ. Вместо това трябва да използвате Descriptйонно програмиране за достъп до тези връзки.
65) Какво е „settoproperty“ и кога да го използвате в UFT?
Settoproperty означава свойство на обект на тестване. Можете да използвате това свойство, за да промените стойностите на обекта по време на изпълнение. Можете да редактирате стойностите на свойствата по време на изпълнение, но направените промени са временни.
66) Как да създадете масив от речник в UFT?
Можем да създадем масив от речник, използвайки синтаксис
Dim ArrayofDictionary(2) First element of array Set ArrayofDictionary(0)= createobject("scripting.dictionary") ArrayofDictionary(0).Add "key1", "temp1" ArrayofDictionary(0).Add "key2", "temp2" Added keys in first dictionary Second element of array as dictionary Set ArrayofDictionary(1)= createobject("scripting.dictionary") ArrayofDictionary(1).Add "key1", "temp1" ArrayofDictionary(1).Add "key2", "temp2" Added keys in second dictionary…..and so on
67) Каква е разликата между „Масив“ и „Речник“?
Array | Речник |
---|---|
Възможен е динамичен масив | Няма концепция за динамичен речник |
Размерът на масива трябва да бъде зададен преди използването на масива | Размерът на речника не е необходимо да се задава |
Трябва да използваме израза redim, преди да добавим допълнителен елемент в динамичния масив | За да добавите допълнителен елемент, не е необходимо да пишете изявление. Ние просто използваме метода за добавяне |
Няма конкретен метод за освобождаване на паметта, ако определен елемент не е необходим | Елемент, който вече не е необходим, може да бъде премахнат от речника |
68) Какво е кръгла функция в UFT?
Функцията Round в UFT се използва за закръгляване на десетичната запетая
Например
Mydecimal = 6.3433333 Roundedvalue= Round(Mydecimal , 3) Print roundedvalue, it will print 6.343
69) Как да намеря общия брой редове в уеб таблицата в UFT?
Има три начина, по които можем да намерим броя на редовете в таблицата в UFT
a) Използване на свойството rowcount на UFT обект на уеб таблица
b) Използване на GetROProperty на UFT
в) Използване на HTML DOM + UFT
70) Как да създадете excel файл в UFT?
стъпки ще създадат excel файл в UFT,
'Create a new Microsoft Excel object Set myExcel = createobject("excel.application") 'To make Excel visible myExcel.Application.Visible = true myExcel.Workbooks.Add MyExcel.worksheets(1).Cells(1,1). Value = “Scenario Id” MyExcel.worksheets(1).Cells(1,2).Value = “Scenario Name” MyExcel.worksheets(1).Columns(1).ColumnWidth = 10 MyExcel.worksheets(1).Columns(2).ColumnWidth = 40 MyExcel.worksheets(1).Columns(3).ColumnWidth = 20 MyExcel.worksheets(1).Columns(4).ColumnWidth = 20 MyExcel.SaveAs "c:\guru99.xlsx" MyExcel.close objExcel.Quit blnFlag = False
Въпроси и отговори за интервю в UFT за 7 до 10 години опит
71) Обяснете по какви начини можем да експортираме таблица с данни в Excel в UFT?
За да експортирате таблица с данни в Excel, има два метода.
a) DataTable.Export („C:\export.xls“)
b) DataTable.ExportSheet “C:\mysheet.xls” (Ако excel файлът не съществува, се създава нов файл)
72) В лист с таблица с данни в UFT, как да прочетем стойност от клетката?
За да прочетем стойност от клетката, следваме процес от 2 стъпки
а) Задаваме указателя на реда в първата стъпка
b) Във втората стъпка дефинираме името на параметъра/колона от листа за четене
Пример:
За този пример сме задали указателя на реда на 2 в транзакционния лист
Datatable.GetSheet(“Transactions”).SetCurrentRow(2)
Сега трябва да посочим, че искаме да прочетем стойност от колоната module_name от транзакционния лист
Print datatable.Value (“Module_Name, “Transactions”)
73) Какви са наличните цикли в UFT и какво правят?
Има 3 бримки, налични в UFT
a) Do…..Loop : Do Loop ще изпълнява блок от изрази многократно
b) For…..Next : For Next Loop ще изпълни поредица от изрази до конкретна стойност на брояча
c) For……Each : За да се изпълни поредица от изрази за всеки оператори за всеки обект в колекцията се използва „For Every Loop“
Докато….Wend Loop : Докато Wend Loop се използва за изпълнение на поредица от изрази, стига даденото условие да е вярно
74) Какви са видовете грешки, които трябва да се обработват в UFT?
Има три вида грешки, с които човек ще се сблъска в UFT
а) Синтактични грешки
б) Логически грешки
c) Грешки по време на работа
75) Какви са начините, по които можете да обработвате грешки по време на изпълнение?
Има различни начини за обработка на грешки по време на изпълнение
а) Използване на тестови настройки
б) Използване на съобщение за грешка
c) Използване на err Object
d) Използване на команда за изход
д) Сценарии за възстановяване
f) Отчетен обект
76) Каква е разликата между exitation и exititeration?
Exitation се използва, когато искаме да излезем от конкретно действие, докато exititeration се използва за излизане от определено действие, итерация на действие.
77) В QTP как можете да премахнете интервалите от низ?
Можете да използвате функция за замяна за премахване на интервали от низ в QTP
Print replace(“ sdsd sd sd s “, “ “,”””)
Изходът ще бъде sdsdsdsds
Функция Itrim може да се използва, ако трябва да се премахнат само водещи интервали от низ
Print Itrim(“ sdsd sd s “) à Изходът ще бъде "Sdsd sd с"
Можете да използвате функцията rtrim, за да премахнете крайните интервали от низа
Print rtrim(“sdsd sd s”) à Изходът ще бъде “sdsd sd с"
78) В QTP как можете да получите последния знак от низ?
Код за получаване на последния знак от низ в QTP
print right( “junior,1) ‘ à Output will be “r”
79) Как да добавя точки за синхронизация в QTP?
Има 4 начина, чрез които можем да добавим точки за синхронизация в QTP
a) Изчакайте изявление : Този оператор ще постави на пауза изпълнението за x секунди, докато обектът се появи
b) Изчакайте собственост : Този метод ще изчака, докато свойството на обекта приеме определена стойност
c) Изявление за съществуване : Този оператор ще изчака, докато обектът стане достъпен
d) Sync метод: Кодът ще изчака, докато страницата на браузъра се зареди напълно. За тестване на уеб приложения се използва този метод.
80) В QTP обяснете какво е криптиран обект
Crypt обект в QTP се използва за криптиране на низове.
Синтаксис
Crypt.Encrypt(“Guru99”)
Пример:
В този пример стойността в променливата pwd е шифрована с помощта на Crypt. Метод на шифроване.
След това тази криптирана стойност се въвежда в полето за редактиране.
pwd= “myvalue” pwd = Crypt.Encrypt (pwd) Browser(“myb”).WinEdit (“pwd”). SetSecure pwd
81) Споменете каква е разликата между Excecute file и loadfunction библиотека?
В изпълнимия файл не можем да отстраняваме грешки в изразите. С библиотеката на loadfunction изявленията могат да бъдат коригирани и могат също така да зареждат множество библиотечни файлове.
82) Обяснете как можете да намерите дължината на масива в QTP?
Кодът за намиране на дължината на масива в QTP е
print (ubound(arr)+1)
Ubound връща последния индекс в масива - така че дължината на масива ще бъде +1. Това ще бъде общият брой елементи в масива
83) Споменете какви са различните видове режими на запис в QTP? Кое кога ще се използва?
QTP поддържа 3 вида режими на запис
a) Нормален режим: Това е режимът на запис по подразбиране и се използва за повечето автоматизирани дейности. Независимо от позицията им на екрана, той разпознава обекти.
b) Режим на запис на ниско ниво: Полезен е за запис на обекти, които не са идентифицирани от нормален режим на QTP. Той записва точните x,y координати на вашите операции с мишката.
c) Аналогов режим: Този режим е полезен за операции като запис на подпис, рисуване на картина, операция с плъзгане и пускане.
84) По какви начини можете да извиквате от едно действие към друго действие?
Има два начина, по които можете да извикате от едно действие към друго действие
a) Извикване за копиране на действие: В това скриптът и таблицата с данни, хранилището на обекти за действие ще бъдат копирани в целевия тестов скрипт
b) Извикване към съществуващо действие: В това таблицата с данни на скрипта и хранилището на обекти не се копират, вместо това ще бъде направена препратка към извикване към действието в изходния скрипт
85) Какво е незадължителна стъпка в QTP? Как можете да добавите незадължителна стъпка в QTP?
Когато изпълнявате тест, той се проваля при отваряне на диалогов прозорец, QTP не прекъсва непременно тестовото изпълнение. Той преминава всяка стъпка, обозначена като „незадължителна“, и продължава да изпълнява теста. По подразбиране QTP автоматично маркира като незадължителни стъпки, които отварят определени диалогови прозорци. За да зададете незадължителна стъпка в ключовата дума, щракнете с десния бутон и изберете „Незадължителна стъпка“. Иконата за незадължителна стъпка ще бъде добавена в следващата стъпка. В експертния изглед, за да добавите незадължителна стъпка, добавете незадължителна стъпка в началото на израза на VBScript.
86) Как да дефинирам масив в QTP?
Масивът може да бъде дефиниран по 3 начина в QTP
a) Масив с фиксиран размер в QTP
Dim A (10) – едно измерение
Dim MyTable (5,10) – многоизмерен
б) Размерът на динамичния масив не е фиксиран
Dim MyArray()ReDim MyArray(25)
c) Използване на Array Function в QTP
A= масив (10, 20,30)
B= A(2) ' B вече е 30
87) Как можете да пишете контексти в текстов файл в QTP?
Content = “Guru99” Set Fo = createobject(“Scripting.FilesystemObject”) Set f =Fo.openTextFile(“c:\abc.txt”, 8,true) f.Write (contents) f.Close Set f= nothing
88) Когато ключовата дума 'опция явна' се използва в QTP?
За да се укаже, че всички променливи трябва да бъдат декларирани преди употреба в QTP, се използва ключовата дума „Option Explicit“.
89) В QTP как можете да излезете от цикъла for?
Трябва да използвате израза „Exit For“, за да излезете от „for цикъл“ в QTP. Изявлението „Изход за“ ще извади контрола от „цикъла for“
For count= 1 to 3 TempNum= mid(Tempstr,count,1) If isnumeric(TempNum) Then LenghtNum = LengthNum & TempNum Else Exit For End If Next GetStrLenNumber = LengthNum
90) Как да намеря размера на масива в QTP?
Размерът на масив в QTP ще бъде намерен с помощта на следния код
Печат (ubound(arr)+1)
Ubound връща последния индекс в масива - така че размерът на масива ще бъде +1
91) В QTP обяснете какво е qrs файл?
qrs означава „Сценарий за най-бързо възстановяване“. Чрез използване на диспечер на сценарии за възстановяване можем да обработваме изключения при изпълнение на тест. В QTP с помощта на мениджър на сценарии за възстановяване можем да обработваме изключения при изпълнение на тест. В QTP, когато създавате сценарий за възстановяване, трябва да го запишете в .qrs файл. qrs файлът може да има произволен брой сценарии, дефинирани в него.
92) Какво е значението на „действие 0“ в QTP?
„Действие 0“ се създава по подразбиране, когато създавате нов тест в QTP заедно с действие 1. За да се определи последователността, в която извикваме други действия 1,2,3 и т.н., се използва действие 0.
93) Обяснете как можете да замените низ в QTP?
За да заменим част от низ в QTP, ще използваме кода, както е показано по-долу
Пример,
Str = (Guru99) Suppose if you want to replace “99” with “88” then the code will print replace(str,“99”, “88”) output will be “Guru88”
94) Какви са различните рамки за автоматизация, налични в QTP?
Предлагат се различни видове рамки за автоматизация в QTP
а) Линеен скрипт
б) Тестовата библиотека Archiтектурна рамка
в) Рамката за тестване, управлявана от данни
d) Рамка за тестване, управлявана от ключови думи или таблица
д) Рамката за автоматизация на хибридните тестове
95) Какво е „Object Spy“ и каква е функцията на обектното шпиониране в QTP?
„Object Spy“ е функция в QTP, чрез която можете да преглеждате свойствата и методите както на тестовия, така и на обекта по време на изпълнение.
96) Какво е „GetROProperty“ и какви са стъпките, включени в използването на GetROProperty?
„GetROProperty“ е вграден метод, използван за извличане на стойност на изпълнение на свойство на обект.
Използването на GetRoProperty включва четири стъпки
a) Запишете обекта, за който искате да използвате GetROProperty в хранилището на обекти
b) Идентифицирайте свойството време на изпълнение за записвания обект, което може да се използва
c) За извличане на идентифицираното свойство по време на изпълнение и съхраняване на стойността в променлива
d) Използвайте тази стойност за допълнителни удръжки
97) Обяснете как можете да намерите абсолютната стойност на числото в QTP?
За да откриете абсолютната стойност на число, има вградена функция в QTP
Example- a= -1 Print abs(a) ‘output will be 1
Този код ще намери абсолютната стойност на число
98) Как можете да проверите дали параметърът съществува в Datatable?
За да проверим дали параметър if съществува в таблицата с данни, ще използваме кода
on error resume next val=DataTable(“ParamName”, dtGlobalSheet) if err.number<>0 then ‘Parameter does not exist’ else ‘Parameter exists end if
99) В QTP обяснете какво е рамка за автоматизация, управлявана от ключови думи?
В рамката за автоматизация, управлявана от ключови думи, фокусът е главно върху ключови думи/функции, а не върху тестовите данни. Това означава, че пълният фокус е върху създаването на функции, които картографират функционалността на приложението.
100) В QTP как можете да използвате Xpath за идентифициране на обекти?
Xpath може да се използва за идентифициране само на уеб обекти. Можем да използваме следния код за идентифициране на обекти.
Set oPage=Browser(“myGoogle”).Page(“myGoogle”) oPage.WebEdit(“xpath:=//INPUT[@name=‘nameofeditbox’]”).Set “search term” ‘Enter value in google edit box
Тук можете да получите бонус за 3 въпроса:
101) Обяснете как можете да изтриете excel файл в QTP?
За да изтриете файл на Excel в QTP,
Set fo = createobject(“Scripting.filesystemobject”) fo.deletefile(“C:\xyz.xlsx”) Set fo=nothing
102) Какви фактори влияят върху контролните точки на растерното изображение?
Контролните точки на растерното изображение се влияят от разделителната способност на екрана и размера на изображението.
103) Какво е контролна точка за достъпност?
World Wide Web Consortium (W3C) излезе с някои инструкции и насоки за уеб-базирани технологии и информационни системи, за да улесни достъпа на хора с увреждания до мрежата. Например стандартите правят задължително наличието на „алтернативен текст“ за изображение. Така че сляп човек, който влиза в уебсайта, ще използва преобразуватели на текст в говор и поне ще разбере какво представлява изображението, ако не го види. Всички тези стандарти се проверяват от контролните точки за достъпност.
QTP/UFT тест за сертифициране 1
QTP/UFT тест за сертифициране 2
QTP/UFT тест за сертифициране 3
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)