QTP Interview Questions
QTP Interview Questions
3) Can we call QTP test from another test using scripting. Suppose there are 4 tests and I
want to call these tests in a main script. Is this possible in QTP?
Yes. You can call 4 or even more scripts in your tests.For this, first you will need to make the
Actions in the corresponding scripts re-usable.Then from the destination script you can make
calls to these re-usable actions.
4) What is action split and the purpose of using this in QTP?
Action split is to divide an existing action into two parts.The purpose is to divide actions based
on their functionality to improve code re-use.
5) How will you handle Java tree in QTP ?
Foremost you will select Java Add - In and launch QTP. Next step record operations on the Java
Tree. If you face an issue while recording, you can select Tools > Object Identification > Java,
tree object and make changes in mandatory and assistive properties to enable identification.
Tip: You can base you answer on similar lines for any other object of any environment. For
example : If the question is how will check SAP checkbox , You say , first I will select SAP Add
in ... and so on.
6) Explain how QTP identifies object ?
QTP identifies any GUI Object based on its corresponding properties. While recording, QTP
will identify and store peculiar properties (as defined in the Object Identification settings) in the
object repository of the GUI object . At run-time, QTP will compare the stored property values
with the on-screen properties, to uniquely identify the GUI object.
7) How many types of recording modes in QTP? Which will be used when ?
QTP supports 3 types of recording modes
Using the Built in Environment Variable you can dig up the OS information.
Eg. Platform = Environment("OS"). Then based on the Platform you need to call the actions
which you recorded on that particular platform.
Using this code Eg. Browser("Core Values").GetROProperty("version") you can extract the
Browser and its correspondin version. Ex: Internet Explorer 6 or Netscape 5. Based on this value
you call the actions which are relevant to that browser.
11) What is logical name of the object?
Logical name is a name given by QTP while creating an object in the repository to uniquely
identify it from other objects in the application. This name would be used by the QTP to map the
object name in script with its corresponding description in the object repository. Ex:
Browser("Browser").Page("Guru99") Here Guru99 is the logical name of the object.
12) What is descriptive programming?
Typically ,an object and its properties must be recorded in the Object Repository to enable QTP
to perform action s on it.
Using descriptive programming , you do not store the object and its property values in the Object
repository but mention the property value pair directly in the script.
The idea behind descriptive programming is not bypass the object repository but help recogonize
dynamic objects.
13)What are the properties you would use for identifying a browser & page when using
descriptive programming ?
You can use the name property
ex: Browser("name:="xxx"").page("name:="xxxx"").....
OR
18) When ordinal identifiers alone can make an object unique then why they are not given
top priority? Why it is first mandatory and next assistive. Why we cannot go for ordinal
identifiers directly?
Consider the following -
a) If two objects are overlapped on each other than location based object recognition will fail.
b) If only index based recognition is used your script will work but script execution time will
increase.
Hence mandatory and assistive properties are used.
19) What is the file extension of the code file in QTP?
Code file extension is script.mts
20) Explain in brief about the QTP Automation Object Model.
QTP Automation Object model deals with Automation of QTP itself. Almost all configuration
and functionality provided by QTP is represented by QTP's Automation Object Model . Almost
all dialog boxes in QTP have a corresponding automation object which can set or retrieved using
the corresponding properties or methods in the Automation Object Model.QTP Automation
Objects can be used along with standard VB programming elements like iterative loops or
conditional statements to help you design a script of choice.
21) What is the use of Text output value in QTP?
Text Output values enable you to capture text appearing on the application under test during run-
time.
If parameterized, text output values will capture values appearing in each iteration which would
be stored in the run-time data table for further analysis.
22) What is Step Generator?
Step Generator enables use to Add Test Steps in your script. Using step generator you can add
steps to your script without actually recording it.
23) How to make QTP understand the difference amongst the same type of
objects .Suppose there are 5 check boxes in a page and I have to choose the 2nd one, how to
do that through script?
You can use ordinal identifiers like index along with a little descriptive programming for object
recognition.
24) What is Test Fusion Report ?.
Test Fusion Report , displays all aspects of a test run and is organized in a Tree format.
It gives details of each step executed for all iterations.
It also gives Run-time data table, Screen shots and movie of the test run if opted.
25) How can you handle exceptions in QTP?
In QTP Exceptional handling is done by using
a. Recovery Scenarios.
b. Using “On Error” statement
In Recovery scenario you have to define.
1. Triggered Events.
2. Recovery steps.
3. Post Recovery Test-Run.
At Script Level you can use the On Error Resume Next and On Error Go to 0 statement.
26) What are the types of environment variables in QTP ?
Environment variables in QTP are of three types:
1) Built-in (Read only)
2) User-defined Internal (Read only)
3) User-defined External (Read/Write)
You Set the Environment Variable using the following syntax
Environment.Value( "name") = "Guru99"
You can Retrieve the Environment Variable using following syntax
Environment.Value("name") -- This will retrun name as Guru99
Environment.Value("OS") -- This will return your system OS
27) What is the Difference between Bitmap Check point & Image Check point?
Bitmap checkpoint does a pixel to pixel comparison of an image or part of an image.
Image checkpoint does do a pixel to pixel comparison but instead compare image properties like
alt text , destination url etc.
28) What is the difference between functions and actions in QTP?
Actions have their own Object Repository & Data Table. Actions help make your Test modular
and increase reuse. Example: You can divide your script into Actions based on functionality like
Login, Logout etc.
Functions is a VB Script programming concept and do not have their own Object Repository or
Data Table. Functions help in re-use of your code. Ex: You can create a Function in your script
to concatenate two strings.
29) What is keyword view and Expert view in QTP?
Keyword View is an icon based view which shows test steps in tabular format. It also
automatically generates documentation for the test steps.
Expert View gives the corresponding VB Script statement for every test step in the Keyword
view.
30) Explain QTP Testing process? -
Quick Test testing process consists of 6 main phases:
1) Create your test plan - This is preparatory phase where you identify the exact test steps, test
data and expected results for you automated test. You also identify the environment and system
configurations required to create and run your QTP Tests.
2) Recording a session on your application - During this phase , you will execute test steps one
by one on your AUT ,and QTP will automatically record corresponding VB script statements for
each step performed.
3) Enhancing your test - In this stage you will insert checkpoints , output values ,
parameterization , programming logic like if…else loops to enhance the logic of your test script.
4) Replay & Debug - After enhancements you will replay the script to check whether its working
properly and debug if necessary.
5) Run your Tests - In this phase you will perform the actual execution of your Test Script.
6) Analyzing the test results - Once test run is complete, you will analyze the results in the Test
Fusion report generated.
7) Reporting defects - Any incidents identified needs to be reported. If you are
using Quality Center , defects can be automatically raised for failed tests in QTP.
31) What are the different types of Test Automation Frameworks ?
The types of Automation Frameworks are -
1) Linear Scripting - Record & Playback
2) The Test Library Architecture Framework.
3)The Data-Driven Testing Framework.
4)The Keyword-Driven or Table-Driven Testing Framework.
32) How will you check a web application for broken links using QTP?
You can use the Page Checkpoint which gives a count of valid/invalid links on a page.
33) What is a Run-Time Data Table? Where can I find and view this table?
Data like parameterized output , checkpoint values , output values are stored in the Run-time
Table. It is an xls file which is stored in the Test Results Folder. It can also be accessed in the
Test Fusion Report.
34) What is the difference between check point and output value.
Check point is a verification point that compares a current value for a specified property with the
expected value for that property. Based on this comparison, it will generate a PASS or FAIL
status.
An output value is a value captured during the test run and can be stored in a specified location
like the Datable or even a variable. Unlike Checkpoints, no PASS/FAIL status is generated.
35) How would you connect to database using vbscript ?
To connect to the database you must know
a) connection string of your server
b) username
c) password
d) DNS name
You can code the database connectivity command directly or you can use the SQL Query tool
provided by QTP.
36) What is QTP batch testing tool?
You can use the Batch testing tool to run multiple scripts. Once the scripts are added in the tool ,
it will automatically open the scripts and start executing them one after the other.
37) What are the drawbacks of QTP?
As of QTP version 10
1) Huge Tests in QTP consume lots of memory and increase CPU utilization.
2) Since QTP stores results in HTML file (and not txt) the result folder sometimes becomes big.
38) What is an Optional Step ?
A step when declared optional is not mandatory to be executed. If the corresponding GUI object
is present, QTP performs the operation on it. If the GUI object is not present, QTP bypasses the
optional step and proceeds to execute the next step.
39) What is Reporter.ReportEvent ?
Reporter.Reportvent is standard method provided by QTP to send custom messages to the test
results window.
Syntax
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
where
EventStatus = 0 or micPass
1 or micFail
2 or micDone
3 or micWarning
Results can assume any status like Pass , Fail , Warning etc. You can also send screenshot to the
test results window.
40) How will you declare a variable in QTP ?
You declare using a DIM keyword. You assign value to the variable using the SET keyword.
Ex.
Dim temp 'Will declare the temp variable
Set temp = 20 ' Will assign a value 20 to temp.
41) What is GetRoProperty ?
GetRoProperty is a standard method provided by QTP to fetch property values of a run -time
object.
42) What is smart Identification?
Typically, if even one of the on-screen object property does not match the recorded object
property. The test fails.
In smart identification, QTP does not give an error if the property values do not match, but uses
Base filter and Optional Filter properties to uniquely identify an object. In Smart identification, if
a property value does not match the script does not fail but it proceeds ahead to compare the next
property. Smart identification can be enabled in Object Identification Dialog box.
43) How would you export a Script from one PC to another in QTP ?
We can make use of the "Generate Script" function available in Object Identification, Test
Settings and Tools/Options tab to create a zip of the script at the source computer. These zip files
then can be imported into QTP at the destination computer.
44) Can launch two instances of QTP on the same machine ?
No. You can work with only single instance of QTP on the same machine. But QTP itself can
work on multiple instances of the Application Under Test (AUT). Ex: QTP can handle multiple
IE browser windows.
45) Give the syntax to import/export xls into QTP.
DataTable.ImportSheet "..\..\TestData\Input.xls",1,dtGlobalSheet
DataTable.ExportSheet "..\..\Results\Output.xls","Global"
46) What is SetToProperty ?
SetToProperty changes property of an object stored in the Object Repository. However these
changes are not permanent.
47) What is the standard timing delay for web based application in QTP ?
The standard delay is 60 seconds. This is can be changed in Test Settigns.
48) What is the Action Conversion Tool ?
It is an in-built tool provided by QTP to convert Actions into Business Process Components.
49) What is the extension for a function library ?
The extension is '.QFL'
50) If the Global Data sheet contains no data and the Local Datasheet contains two rows of
data, how many times will the test iterate?
The test will iterate only once - global iteration.
51) Explain how to read registry key in UFT ?
The example demonstrated here explains how to read registry key in UFT
‘Create a shell object
e.g. HKCU\software\ie\settings
msgbox RegValue
52) What are the ways in UFT to get system environment variables in UFT?
There are three ways to get system environment variables in UFT
Use the WSH shell object
Use WMI’s Win32_Environment Class
Read variables from the registry
Set myShell = CreateObject (“WScript.Shell”)
myShell=Nothing,
myShell=Nothing
With Message
.Subject = Subject
.HTMLBody = TextBody
.Recipients.Add (aTo)
Const olOriginator = 0
.Send
End With
54) Explain how you can fetch data from database in UFT?
To fetch data from database in UFT, you have to follow the code below
Set db= createobject (“ADODB.Connection”)
Set rst=createobject(“ADODB.Recordset”)
id=rst. RecordCount
Print rst.field (0) & rst.fields (1) & rst.fields (2) & rst.fields (3)
rst.Movenext
Next
55) What are the codes we can use to get files from ftp server in UFT?
To get ftp files from ftp server, you have to use below code
a) put- To store single file on server
b) get- To download single file from ftp server
c) mget- To download multiple files from server
d) mput- To store multiple files on server
e) delete- To delete files on ftp server
MyShell.Run "%comspec% /c FTP -n -s:" & commandstoworkwithftp & " " & Site, 0,True
56) In UFT how you can prevent the system from getting locked?
To prevent system getting locked, any of the two ways can be used
Create a simple vbs file having code to press numlock key and run that vbs file
Edit one registry key “DisableLockWorkstation =1” to disable locking
57) What is descriptive programming in UFT means?
Descriptive programming includes property name and property value. Whenever UFT is facing
difficulty in identifying objects from object repository, and instead the object is directly
identified from the script is known as descriptive programming.
58) In UFT explain the difference between qfl and vbs files?
a) qfl is quick test function library file while vbs is Microsoft’s vbscript
b) qfl is a non-executable file while vbs is an executable file
c) To use file in UFT associate qfl file from test setting, while to include vbs file use
“execute file statement”
59) What is the code to write data to text file in UFT?
To write data to text file in UFT code is
Content = “Guru99 Rocks”
f.Write (contents)
f.Close
Set f = nothing
objExcel.Visible= True
Array Dictionary
Dynamic array is possible There is no concept of dynamic dictionary
Size of array must be set before the use of array The size of dictionary do not need to be set
To add extra element there is no need to
We have to use redim statement before adding
write any statement. We just use add
extra element into dynamic array
method
There is no particular method to release the Element which is not required any longer
memory if particular element is not required can be removed from the dictionary
68) What is round function in UFT?
Round function in UFT is used to round the decimal
For example
Mydecimal = 6.3433333
Roundedvalue= Round(Mydecimal , 3)
69) How to find the total number of rows in the webtable in UFT?
There are three ways which we can find the count of rows in the table in UFT
a) Using rowcount property of UFT webtable object
b) Using GetROProperty of UFT
c) Using HTML DOM + UFT
70) How to create excel file in UFT ?
steps will create excel file in UFT,
'Create a new Microsoft Excel object
myExcel.Application.Visible = true
myExcel.Workbooks.Add
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
82) Mention what is the difference between Excecute file and loadfunction library ?
In execute file, we can’t debug the statements. With loadfunction library, statements can be
debug and can also load multiple library files.
83) Explain how you can find length of array in QTP?
The code to find the length of array in QTP is
print (ubound(arr)+1)
Ubound returns the last index in array- so length of array will be +1. This will be total number of
elements in array
84) Mention what are the different types of recording modes in QTP? Which will be used
when?
QTP supports 3 types of recording modes
a) Normal mode : It is the default recording mode and used for most of the automation
activities. Regardless of their position on screen it recognizes objects.
b) Low level recording mode: It is useful for recording objects not identified by normal mode
of QTP. It records the exact x,y coordinates of your mouse operations.
c) Analog mode: This mode is useful for the operation such as recording signature, drawing a
picture, drag and drop operation.
85) In what ways you can call from one action to another action?
There are two ways you can call from one action to another action
a) Call to copy of action: In this, the script and data-table, action object repository will be
copied to the destination Test Script
b) Call to existing Action: In this, script data-table and object repository are not copied
instead a call reference would be made to the action in the source script
86) What is Optional step in QTP ? How you can add optional step in QTP?
When running a test, it test fails in opening a dialog box, QTP does not necessarily abort the test
run. It bye passes any step designated “optional” and continues running the test. By default
QTP automatically marks as optional steps that open certain dialog boxes. In order to set an
optional step in the keyword, right click and select “Optional Step”. The icon for optional step
would be added in next step. In the expert view to add optional step, add optional step to the
beginning of the VBScript statement.
87) How to define array in QTP?
Array can be defined in 3 ways in QTP
a) Fixed size array in QTP
Dim A (10) - single dimension
Dim MyTable (5,10) – multi-dimension
b) Dynamic array-size not fixed
Dim MyArray()ReDim MyArray(25)
c) Using Array Function in QTP
A= Array (10, 20,30)
B= A(2) ‘ B is now 30
88) How you can write contexts to text file in QTP?
Content = “Guru99”
Set Fo = createobject(“Scripting.FilesystemObject”)
f.Write (contents)
f.Close
Set f= nothing
TempNum= mid(Tempstr,count,1)
If isnumeric(TempNum) Then
Else
Exit For
End If
Next
GetStrLenNumber = LengthNum
Suppose if you want to replace “99” with “88” then the code will
val=DataTable(“ParamName”, dtGlobalSheet)
if err.number<>0 then
else
‘Parameter exists
end if
102) Explain how you can delete excel file in QTP? To delete excel file in QTP, Set fo =
createobject(“Scripting.filesystemobject”) fo.deletefile(“C:\xyz.xlsx”) Set fo=nothing
103) What factors affect bitmap checkpoints ?
Bitmap checkpoints are affected by screen resolution and image size.
104) What is Accessibility Checkpoint?
World Wide Web Consortium (W3C) came up with some instructions and guidelines for Web-
based technology and information systems to make it easy for the disabled to access the web. For
example the standards make it mandatory to have an 'alt text' for an image. So a blind person
who is accessing the website, will use text - to -speech converters and atleast understand what
the image is about if not see it. All these standards are checked by Accessibility Checkpoints.