Friday, 23 September 2011

QTP Interview Question


1. What is Object Spy?

we can view the object properties of an open application ,test object methods and run time object methods, and also we can view selected object hirarchy tree properties and values in objectspy dialod box.

2. What is the extension of script and object repositary files?

The extension for Script file is .mts and the extentsion of the repository file is .tsr mtr : Modular Test Repository mts : Mercury Test Script tsr : Test Script Repository vbs : vb Script   What are the file extensions for per-action, shared object repository files and what is the extension for library files? Per-Action Object Repository - .mtr(Mercury test Script) Shared Action object Repository - .tsr(Test repository)  Library files - .vbs or .txt.

3. What is the difference Between LowLevel and Normal Recording Modes?

Low-Level Recording: Is useful if the exact coordinates of the object are important for your test.
Normal recording: Is useful when the recording operations that cannot be recorded at the level of an object.
Low level record is used to record the session even the object is not recognized by the QTP.

2nd answer

Normal Level Is Object Context Level ; where QTP recognize object with Physical Description Of only interacted object.
Low-Level Recording—enables you to record on any object in your application, whether or not QuickTest recognizes the specific object or the specific operation. This mode records at the object level and records all run-time objects as Window or WinObject test objects. Use low-level recording for recording in an environment or on an object not recognized by QuickTest. You can also use low-level recording if the exact coordinates of the object are important for your test or component.

4.What are the challenges do we face while testing webbased applications using the automation tool QTP or any?

1)Unable to understand custom object, then we have to map that object to standard object. 2)To handle the runtime objects. 3)Using Regular Expressions.
5.How we can add actions in the test using QTP?
There are four actions call to action ,copy of action,call to exesitng action,call to winner,split action just right click on any one select it
6.Does QTP provides any tools for parametarization?
Yes, QTP uses Microsoft Excel for parameterization.

5.What is batch testing?

The Sequential execution more than one test case is called as Batch testing. Every test Batch is consists of mutiple dependent test cases. In those batches every end state is base state to next case .Test batch is also known as Test suit or Test belt. 

6.what are recovery management techniques?

Recovery scenario manager is used to handle exception. exception is run time error,three steps to handle exceptions. 1 .trigger event:-pop-up window,object state,test run error and application crash 2.recovery operations:-select an operation to perform when the trigger event occurs they are 1.keyboard or mouse operation 2.close application process 3. fuction call  4.restart miscrosoft windows
3.post recovery:- select the last run operation you want to perform when the recovery operation is complect  .test run options:
1.      repeate current step and continue
2.      preceed to next step
3.      proceed to next action or component
4.      proceed to next iteration
5.      restart current test run
6.      stop the test run

7. what is the difference between link and hyperlink?

The HyperLink control immediately navigates to the target URL when the user clicks on the control. The form is not posted to the server.
The LinkButton control first posts the form to the server, then navigates to the URL. If you need to do any server-side processing before going to the target URL, use a  LinkButton.
On the other hand, if there is no server-side processing necessary, don't waste a round trip and use the HyperLink control.

8.In qtp,how to interact tool & application build? by using descriptive programming.

9.HOW TO DO THE BATCH TESTING USING QTP?

GO  to tools ,options and select the tet batch runner and select the scripting functions one by one by keeping it in wait mode and execute it.

10.WHAT IS THE USE OF “FUNCTION GENERATOR” IN QTP?

1)the use of functional generator in qtp is which lists out the all the built in functions in qtp and helps you to write the vb script for un known objects.
2)it is also used to reduce the typing mistakes & syntax errors.

11.WHAT IS ENVIRONMENT VARIABLES?

the variable which you have in one action cant be used in some other action .so by using environment variables we can use the variables in one action in to another action.
environment variables are 3 types,
1. user defined internal
2. user defined external
3. builtin

12.what is the use of VIRTUAL OBJECTS? explain ?

The use of virtual objects in qtp is identifies the objects including pixels(with co-ordinates.)

13.what is a test strategy & what is the difference between test strategy & test plan?

TestPlan is controlled document which describes entire testing process. It includes
Scoping of the test, Test deliverables, Test schedule, Entry criteria, Exit criteria, Risks and contingencies and also Test strategy.
Test Strategy or Test Methodolgy is a set of guide lines that describes test design.

14.WHAT IS THE DESCRIPTIVE programming when it is useful? & when to use this ?

1st)Descriptive Programming is all about identifying an object uniquely.
descriptive programming in QTP means whenever qtp facing dificulty with obj identification then we will go with regular exp or desc prog it means identifying obj unique prop from the script itself.ex:vbwindow("").vbedit("attached text:=username").set cdbjd

2nd answer) without using the objectrepository, and by using the objectspy we will write the DESCRIPTIVE programming .when ever we will go to DESCRIPTIVE programming :-

1.when ever objects are dynamically changing.
2.when ever QTP is not going to recognise the objects.
3.when ever objectrepository size is huge automatically QTP wil get down slow.
4.when ever not yet develop the build then only we will use
DESCRIPTIVE programming .

15.HOW to invoke any recorded script in QTP with out using RECORD & PLAYBACK CONCEPT?

1.invoke_record (path of the record)
2.by using reusable functions and calling them in the program
17.can we run the scripts of qtp 8.2 in the qtp7.0?
No,becse 8.2 is the advanced version(add some additional properties) of 7.0.so,we run the scripts of qtp 7.0 in qtp 8.2

16.How to handle Recovery scenario in QTP. give detailed explanation about recovery scenario.

Recovery scenario manager is used to handle exception.exception is run time error,three steps to handle exceptions.
1 .trigger event:-pop-up window,object state,test run error and application crash
2.recovery operations:-select an operation to perform whenthe trigger event occurs they are 1.keyboard or mouse peration 2.close application process 3. function call
4.restart miscrosoft windows
3.post recovery:- select the last run operation you want to perform when the recovery operation is complect .test run options:
 1.repeate current step and continue
2.preceed to next step
3.proceed to next action or component
4.proceed to next iteration
5.restart current test run
6.stop the test run

17.How u perform exception handling in QTP,what is other name for this.


The other name for Exception handling is Recovery scenario.
There are 4 Triggers

1.Popup Window.
2.Object State.
3.Test Error.
4.System Crash.
The solution are
1.Function call.
2.Keyboard or mouse Operation.
3.Restart.

18.how we can take data in the username field text box into variable in web application explain with example and give all functions to get data into variables

Any Application, it may be web or it may be window based applications, we use getroproperty() method to get the data from the Editbox.Same way if u want to set the data to the editbox we use set()method.for example:
Dim variable name
variable name =  Browser(browser).page
(pagename).GetROproperty("Logical name")
if u want to print in dialogbox use msgbox()function OR
if u want to print in test result use reporter.reporter
event() function

19.What are the most frequent errors you faced while executing your scripts?
We face different types of error during testing. i explain different errors below. we face these errors regularly

Unit Test : Control Statement Errors,

Integration Errors : Duplicate Variables, Passing values one module to another module. Memory leakage.

Blockbox testing : Object Status, Data Integration errors, pick values from database, Replacement of data, Boundary value errors, UI errors.

20.Among all the check points what is the most important checkpoint?

Each checkpt is impin its own respect.According to me , databaase checkpts are more imp than the other.

21.how to write script in qtp(vbscript)..i mean with out application deployed..and how to call script1 into script2?

runaction actionname(iteration mode,iteration range,parameters)

22.What is iteration? How it is related to Test Results in QTP

Here iteration means repeat the processes, with same values or different values,when You take the datadriven test with different values... the test process repeats that much of time.

23.Is it possible to map an image as standard Object or u’ve to treat as virtual? how to map an Dynamic image into standard object?

We can record the dynamic objects by using smartIdentification process.

24.Difference between image checkpoint and bitmap checkpoint.

In Bitmap checkpoint, we can compare the exact images,means the source image(in Build1) with the destination image(in build2). So it compare the exact image between both the builds. Here, even we can check the part of images between source and destination.where as in Image check point, we can check all the values and properties of an image. Ex. The destination address once we click on the image, image type etc.

25.what is descriptive.create()in qtp?

To create properties collection and we can create properties object(MYDescription).once we have filled properties collection with a  set of properties objects(properties,values) we can specify properties object in place of an obj name.

26.how to merge object repositories?

In QTP8.2 provide a facility to add repositories.   when u installed qtp 8.2 software to show a option in Tools Merge object Repositories. Through U can add object Rep.

27.what is the Command used to start the QTp from Run.
(start-> Run)
systemutil.run"path of the file"

28.What does VBS file contain..? what is VBS file.?

vbs file contains the user defined functions which are reusable that can be used in our test or compnent according to our requirement

29.what is Unicode Compatibility ? HOw does this makes a diffrence from Winrunner.?


You can Test Applns which are developed in other than English Language also. i.e QTP Supports Japanise,chinese language appls also.where as winrunner doesn't support unicode compatibility.

30.what is the Exact Meaning of Environment Variables? 


31.what is Compile Module in QTP? what exactly it contains Functions or Actions?
win runner contains compile module.but qtp does not support complie module.compile module means library files in qtp ,which contains functions not the actions

32.what is the Exact Meaning of Environment Variables?

Environment Variables enables you to use the variable values from other sources during the run session. the variable values can be specified by the users or QTP can specify depending upon the conditions and options u choose.


33.Tell me the QTP Advantages and Disadvatages ?

Will be getting the initial focus on development of all new features and supported technologies.
·  Ease of use.
·  Simple interface.
· Presents the test case as a business workflow to the tester (simpler to understand).
· Uses a real programming language (Microsoft’sVBScript) with numerous resources available.
·  QuickTest Pro is significantly easier for a non-technical person to adapt to and create  working test cases, compared to WinRunner.
·  Data table integration better and easier to use than WinRunner.
·  Test Run Iterations/Data driving a test is easier and better implement with QuickTest.
·  Parameterization easier than WinRunner.
·  Can enhance existing QuickTest scripts without the “Application Under Test” being available; by using the ActiveScreen.
·  Can create and implement the Microsoft Object Model (Outlook objects, ADO objects, FileSystem objects, supports DOM, WSH, etc.).
·  Better object identification mechanism.
·  Numerous existing functions available for implementation – both from within QuickTest Pro and VBScript.
·  QTP supports .NET development environment (currently WinRunner 7.5 does not).
·  XML support (currently WinRunner 7.5 does not).
·  The Test Report is more robust in QuickTest compared to WinRunner.
·  Integrates with TestDirector and WinRunner (can kick off WinRunner scripts from QuickTest).
Cons:·  Currently there are fewer resources (consultants and expertise) available due to QTP being a newer product on the market and because there is a greater Demand than Supply, thus fewer employee/consulting resources.
·  Must know VBScript in order to program at all.
·  Must be able to program in VBScript in order to implement the real advance testing tasks and to handle very dynamic situations.
·  Need training to implement properly.
·  The Object Repository (OR) and “testing environment” (paths, folders, function libraries, OR) can be difficult to understand and implement initially.

34.How to get the column count and column name from the resultset in the database connection program?

you use following sql query
select column name, count(column name)from table name.

35.How to Test the mainframe application?(tell me few basic things)

In Order to test the mainframe applications u need to install the TERMINAL EMULATOR add-in in QTP.

36.What is throw object?
It is exception handling

37.How will you handle the situation when object is not captured during record?
While recording the object is not recognised--go for low level recording.virtual object vizard too right. But, if u find object not recognised by tool before start generating script.

38.What kind of errors can b handled in QTP in real time scenario?
1)      Pop-up Window
2)      Object state
3)      Test run error
4)      Application Crash

39.What is smart identification?
Smart identification comes into picture when Quick Test fails to recognize an object uniquely using the recorded properties. It follows the following process to identify the object: 
1. QuickTest “forgets” the recorded test object description and creates a new object candidate list containing the objects (within the object’s parent object) that match all of the properties defined in the base filter property list.
2. From that list of objects, QuickTest filters out any object that does not match the first property listed in the Optional Filter Properties list. The remaining objects become the new object candidate list.
3. If the new object candidate list contains more than one object, then step 2 is repeated with the second property listed in Optional Filter Properties list.
5.  Step 3&4 are repeated until an the object in recognised uniquely.40.in how many ways you perform batchtesting?Another way to run a batch test is to accumaulate them in the Test lab tab of TestDirector and run from there


40.What is API
Application program interface.

41.What is the differnce between action & script
A sequence of  related statements are called "Action".But a script will contain more than one Action

42.Synchronozation types in QTP
1. wait()
2. inserting Synchronization point.

43. What is User defined function in QTP

User defined functions are encapsulation of segments of code which is used several times in the script.They can be either within the QTP script or can be maintained in external .VBS or .TXT files.

44.How u call functions in QTP Function to calculate the length of characters in a word

Function countChar(st)/*Vbscript Function
charLength = Length(st)
End Function
Assume above function countChar is written in VBscript, now you are getting the text from the Application and calling the Vbscript file and gets the length of the characters in the word
Dim textValue
textValue= Browser("Browser Name").Page("Page Name").Frame
("mainFrame_5").WebElement("12").GetROProperty("innertext")
executefile "*.*countChar(textValue)" /*calling the
Vbscript file
textlength = charLength /*getting the text length

45.How you automate testscripts one by one or moduelwise or all at once
Test Automation is process which follows the framework designed for the company. This framework varies from one  organization to other. Here are some basic steps which are follwed in general...

Step1: Segregate the test cases to be automated.
Step2: Prepare the test data for the selected test cases
Step3: Make scripts for repeatable or functional scenarios
Step4: Convert those scripts as Reusable functions
Step5: Make test scripts by calling the reusable functions and adding the conditions as per your requirements.

46.After running scripts how you report results ,there is any specific report form syntax is

report.reportevent event status,stepname,details

Argument-1 : event status are 4 types
1)micpass or 0
2)micfail or 1
3)micdone or 2
4)micwarning or 3
Argument-2 : The status of object we are going to report
Argument-3 : The details of the object.

reportstepname:

Name of the stepname in the report(object name)
details:
details of the object
Example:
Reporter.Reportevent 0,"custom step","step passed"
or
Reporter.Reportevent micpass,"custom step","step passed"

47.Anybody explain me, the concept of checkpoint declaration in the QTP mainly for the Objects, Pages, Text and Tables ?

A checkpoint verifies that expected information is displayed in a Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP. Object, Page and Table checkpoints can be added using Standard check point.
1. A page checkpoint checks the characteristics of a Application
2. An object checkpoint (Standard) checks the values of an object on a Application.
3. A table checkpoint checks information within a table on a Application
4. A text checkpoint checks that a text string is displayed in the appropriate place on a Application.
5.An image checkpoint checks the values of an image on a Application.
6.An Accessibility checkpoint checks the web page for Section 508 compliance.
7.An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application.
8.A database checkpoint checks the contents of databases accessed by your web site
48.Take a situation when you are working with QTP, suddenly system has crashed.so you again start the system. My questyion is how can QTP directly opened when the system desktop appears.

we can set the error or event in the recovery scenarion wizard and if the system faces such situation by the recovery scenario the system will get back to the desired action or events

50.how to test background color and dynamic images during runtime
It is possible only in web applications only.by using check points we have to test the back ground colour and dynamic images.

for eg: Yahoomail page back ground colour is blue
Vb script method and property on text file or notepad:-
Many a times you may need to interact with text files using QTP. Interaction can be(but not limited to) in the form of reading input from a file, writing output to a file.
This post describe in detail “File handling using QTP”.

51.What is FSO?

FSO stands for File System Object. This is used to support text file creation and manipulation through the TextStream object and is contained in the Scripting type
library (Scrrun.dll) The FSO Object Model has a rich set of properties, methods and events to process
folders and files.

How to create a file?
We  first  create  a  FSO  object  using  CreateObject  and  then  create  a  text  file  using CreateTextFile.
For Example: Suppose you want to create a file called “test.txt” located in C:
Dim fso, file, file_location
file_location = “C:\file_location”
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set file = fso.CreateTextFile(file_location, True) // True–> file is to be overwritten if it already exists else false
We would use the same example for the rest of this post.

How to open a file?
Set file= fso.OpenTextFile(“C:\file_location”, ForWriting, True)
//2nd argument can be ForReading, ForWriting, ForAppending
//3rd argument is “True” if new file has to be created if the specified file doesn’t exist else false, blank signify false.
How to read content from a file?
Use ReadLine() method
For example:
Set file= fso.OpenTextFile(“C:\file_location”, ForReading, True)
//2nd argument should
‘always be “ForReading” in order to read contents from a file Do while file.AtEndofStream <> True
data = file.ReadLine()
Msgbox data
Loop
How to write content to a file?
You can use  Write() or WriteLine() Methods to write text into a file. The difference
between the Write() and WriteLine() Method is that the latter automatically inserts a new line character while the former doesn’t insert a new line character.
For example:
Set file= fso.OpenTextFile(“C:\file_location”, ForWriting, True)
//2nd argument should always be “ForWriting” in order to write contents to a file
file.Write(“This is a place to get all your qtp”)
file.Write(“questions and answers solved.”)
//Output will be:
This is a place to get all your qtp questions and answers solved.
file.WriteLine(“This is a place to get all your qtp”)
file.Write(“questions and answers solved.”)
Output will be:
This is a place to get all your qtp
questions and answers solved.
How to delete content?
Use DeleteFile() method to delete a file from a particular location
For Example:
file_location = “C:\file_location”
Set fso = CreateObject(“Scripting.FileSystemObject”)
fso.DeleteFile(file_location)
-------------------------------------------------------------------------------------------------------
Rnd Function:---
Returns a random number.
Rnd[(number)]
The number argument can be any valid numeric expression.
Remarks
The Rnd function returns a value less than 1 but greater than or equal to 0. The value of number determines how Rnd generates a random number:
If number is Rnd generates
Less than zero The same number every time, using number as the seed.
Greater than zero The next random number in the sequence.
Equal to zero The most recently generated number.
Not supplied The next random number in the sequence.
For any given initial seed, the same number sequence is generated because each successive call to the Rnd function uses the previous number as a seed for the next number in the sequence.
Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer.
To produce random integers in a given range, use this formula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.
Note   To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument. Using Randomize with the same value for number does not repeat the previous sequence.
Initializes the random-number generator.
Randomize [number]
The number argument can be any valid numeric expression.
Remarks
Randomize uses number to initialize the Rnd function's random-number generator, giving it a new seed value. If you omit number, the value returned by the system timer is used as the new seed value.
If Randomize is not used, the Rnd function (with no arguments) uses the same number as a seed the first time it is called, and thereafter uses the last generated number as a seed value.
Note   To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument. Using Randomize with the same value for number does not repeat the previous sequence.
The following example illustrates use of the Randomize statement.

Dim MyValue, Response
Randomize   ' Initialize random-number generator.
Do Until Response = vbNo
   MyValue = Int((6 * Rnd) + 1)   ' Generate random value between 1 and 6.
   MsgBox MyValue
   Response = MsgBox ("Roll again? ", vbYesNo)
Loop

51.Retrieving and Setting Test Object Property Values

Test object properties are the set of properties defined by QuickTest for each
object. You can set and retrieve a test object’s property values, and you can
retrieve the values of test object properties from a run-time object.
Þ    When you run your test, QuickTest creates a temporary version of the test object that is stored in the test object repository. You can use the
GetTOProperty, GetTOProperties, and SetTOProperty methods in your
test or function library to set and retrieve the test object property values of
the test object.
Þ    The GetTOProperty and GetTOProperties methods enable you to retrieve a specific property value or all the properties and values that QuickTest uses to identify an object.
Þ    The SetTOProperty method enables you to modify a property value that
QuickTest uses to identify an object.

Þ    Note: Because QuickTest refers to the temporary version of the test object during the run session, any changes you make using the SetTOProperty method apply only during the course of the run session, and do not affect the values stored in the test object repository.

Þ    You use the GetROProperty method to retrieve the current value of a test object property from a run-time object in your application.

52.To view object methods
Choose Tools > Object Spy or click the Object Spy toolbar button to open
the Object Spy dialog box.

Þ    Note: If the object you want is partially hidden by another window, hold
the pointing hand over the partially hidden window for a few seconds. The
window comes into the foreground. You can now point and click on the
object you want. You can configure this option in the Options dialog box.
For more information, see Chapter 25, “Setting Global Testing Options.”
You can also hold the left CTRL key to change the window focus.
Additionally, if the window containing the object you want to select is
minimized, you can display it by holding the left CTRL key, right-clicking
the application in the Windows task bar, and choosing Restore from the
context menu.

Þ    While creating your test, you can insert checkpoints into your test. A
checkpoint compares the value of an element captured when the object was
saved in the object repository, with the value of the same element captured
during the run session. This helps you determine whether or not your
application or Web site is functioning correctly.
Þ    When you test your application or site, you may want to check how it
performs the same operations with different data. This is called
parameterizing your test.

53.Choosing the Recording Mode
Þ    Normal recording mode records the objects in your application and the
operations performed on them.
Þ    Analog Recording. enables you to record the exact mouse and keyboard
operations you perform in relation to either the screen or the application
window.
Note: You cannot edit Analog Recording steps from within QuickTest.
Low Level Recording:-This mode records at the object level and records all
run-time objects as Window or WinObject test objects. Use Low Level
Recording for recording in an environment or on an object not recognized
by QuickTest. You can also use Low Level Recording if the exact coordinates
of the object are important for your test.
Þ    Note: Steps recorded using Low Level Recording mode may not run
correctly on all objects.

54.Guidelines for Analog and Low Level Recording

Consider the following guidelines when choosing Analog Recording or Low
Level Recording:
Use Analog Recording or Low Level Recording only when normal recording
mode does not accurately record your operation.
Analog Recording and Low Level Recording require more disk space than
normal recording mode.
You can switch to either Analog Recording or Low Level Recording in the
middle of a recording session for specific steps. After you record the
necessary steps in Analog Recording or Low Level Recording, you can return
to normal recording mode for the remainder of your recording session.


Analog Recording

Record relative to a specified window if the operations you perform are
on objects located within one window and that window does not move
during the Analog Recording session. This ensures that during the run
session, QuickTest will accurately identify the window location on which
the analog steps were performed even if the window is in a different
location when you run the analog steps. QuickTest does not record any
click or mouse movement performed outside the specified window.
When using this mode, QuickTest does not capture any Active Screen
images.
Record relative to the screen if the window on which you are recording
your analog steps moves during recording or if the operations you
perform are on objects located within more than one window. This can
include dragging and dropping an object from one window to another.
When using this mode, QuickTest captures only the Active Screen image
of the final state of the window on which you are recording.


Low Level Recording
Use Low Level Recording for when you need to record the exact location of
the operation on your application screen. While recording in normal mode,
QuickTest performs the step on an object even if it has moved to a new
location on the screen. If the location of the object is important to your test,
switch to Low Level Recording to enable QuickTest to record the object in
terms of its x- and y- coordinates on the screen. This way, the step will pass
only if the object is in the correct position.
Low Level Recording supports the following methods for each test object:
WinObject test objects: Click, DblClick, Drag, Drop, Type
Window test objects: Click, DblClick, Drag, Drop, Type, Activate,
Minimize, Restore, Maximize.


Zipping a Test
While you record, QuickTest creates a series of configuration, run-time,
setup data, and Active Screen files. QuickTest saves these files together with
the test. You can zip these files to conserve space and make the tests easier to
transfer.
To zip a test:
1 Choose File > Export Test to Zip File. The Export to Zip File dialog box
opens.
2 Type a zip file name and path, or accept the default name and path, and
click OK.

55.object repository

Þ    QuickTest does this by learning the application’s
objects and their corresponding property values and storing these object
descriptions in an object repository.
Þ    As QuickTest learns the test objects, it stores them in the action’s local object repository. You can choose to keep the stored objects in the local object repository, or you can choose to store the objects in a shared object repository. Storing the objects in the local object repository makes them available only to the specific action, but not to other actions. Storing the objects in one or more shared object repositories enables multiple tests to use them.
Þ    shared object repository stores test objects in a file that can be accessed by multiple tests (in read-only mode).
Þ    A local object repository stores objects in a file that is
associated with one specific action, so that only that action can access the
stored objects.

Understanding the Local Object Repository
When working with a local object repository:
QuickTest creates a new (empty) object repository for each action.
As you record operations on objects in your application, QuickTest
automatically stores the information about those objects in the
corresponding local object repository (if the objects do not already exist in
an associated shared object repository).
QuickTest adds all new objects to the local object repository even if one or
more shared object repositories are already associated with the action. (This
assumes that an object with the same description does not already exist in
one of the associated shared object repositories).
If a child object is added to a local object repository, and its parents are in a shared object repository, its parents are automatically moved to the local
object repository.
Every time you create a new action, QuickTest creates a new, corresponding
local object repository and begins adding test objects to the local object
repository as you record or learn objects.
If you learn or record on the same object in your application in two different
actions, the object is stored as a separate test object in each of the local
object repositories.
When you save your test, all of the local object repositories are
automatically saved with the test (as part of each action within the test). The
local object repository is not accessible as a separate file (unlike the shared
object repository).
Understanding the Shared Object Repository
When you use shared object repositories, QuickTest uses the shared object
repositories you specify for the selected action.

When working with a shared object repository:
If you record operations on an object that already exists in either the shared or local object repository, QuickTest uses the existing information and does not add the object to the object repository.
If a child object is added to a local object repository, and its parents are in a shared object repository, its parents are automatically moved to the local
object repository.
QuickTest does not add an object to the shared object repository as you
record operations on it. Instead, it adds new objects to the local object
repository (not the shared object repository) as you learn objects or record
steps on them (unless those same objects already exist in an associated
shared object repository).


56.Checkpoints to a Test:-A checkpoint is a verification point that compares a current value for a specified property with the expected value for that property.
Right-click any object in the Active Screen and choose the relevant
checkpoint option:
Insert Standard Checkpoint
Insert Bitmap Checkpoint
Insert Accessibility Checkpoint
Þ    Standard Checkpoint checks the property value of an object in your
application or Web page. The standard checkpoint checks a variety of
objects such as buttons, radio buttons, combo boxes, lists, and so forth.
Þ    Image Checkpoint checks the value of an image in your application or Web page.
Þ    Bitmap Checkpoint checks an area of your Web page or application as a
bitmap.
Þ    Table Checkpoint checks information within a table.
Þ    Text Checkpoint checks that a text string is displayed in the appropriate
place on a Web page or application.
Þ    Accessibility Checkpoint identifies areas of your Web site that may not
conform to the World Wide Web Consortium (W3C) Web Content
Accessibility Guidelines.
Þ    Page Checkpoint checks the characteristics of a Web page. For example, you can check how long a Web page takes to load or whether a Web page contains broken links.
Þ    Database Checkpoint checks the contents of a database accessed by your Application.
Þ    XML Checkpoint checks the data content of XML documents in XML files or XML documents in Web pages and frames.
Creating a Table Checkpoint
Þ    Choose Insert > Checkpoint > Standard Checkpoint or click the Insert
Checkpoint or Output Value button.
Þ    Select the range of rows you want to include in your checkpoint. You can
include:
All rows. Includes all of the rows in the table. Note that capturing all of
the data for large table or list view objects may take some time.
Visible Rows (from row X to row Y). Includes only the rows visible on the
screen. Note that this option may not be available for some
environments or object types.
Another range -- from row X to row Y. You can specify any row range
between 1 and the number of rows listed in the table.

56.Checking Table Content
Descriptive Information
The top part of the Table Checkpoint Properties dialog box contains the
following options:
Þ    Name The name that QuickTest assigns to the checkpoint.
Þ    Class Specifies the type of object (read-only). This may be a table-type object or a list view-type object.
Check TableContent check box:- (Table Content tab) Selecting the Check Table Content check box instructs QuickTest to check the content of the able object.(Selected by default.)
CheckPropertiescheck box:-(Properties tab) Selecting the Check Properties check box instructs QuickTest to check the properties of the table object. (Cleared by default.)
Þ    Checkpoint timeout:- Specifies the time interval (in seconds) during which QuickTest attempts to perform the checkpoint successfully. QuickTest  continues to perform the checkpoint until the checkpoint passesor until the timeout occurs. If the checkpoint does not pass before the timeout occurs, the checkpoint fails.
Þ    Insert statement:- Specifies when to perform the checkpoint in the test. Choose Before current step if you want to check the table content before the highlighted step is performed. Choose After current step if
you want to check the table content after the highlighted step is performed.

To:                                                                                      Do this:
Add a single cell to or remove it from
the check                                                         Double-click the cell
Add an entire row to or remove it from
the check                                                         Double-click the row header
Add an entire column to or remove it
from the check                                             Double-click the column header
Add all cells to or remove all cells from
the check                                     Double-click the top-left corner of the grid

Add a range of cells to the check      Select the cells to add to the check and
click the Add to Check button
Remove a range of cells from the check Select the cells to remove from the check and
click the Remove from Check button
 
57.Specifying the Expected Data:-The Expected Data tab displays options for setting the expected value of the selected cell in the table.
Þ    You can modify the value of a cell or you can parameterize it to use a value from an external source, such as the Data Table or an environment variable. During the run session, QuickTest compares the value specified in this tab with the actual value that it finds during the run session. If the expected value and the actual value do not match, the checkpoint fails.
Specifying the Value Type Criteria:- The Settings tab includes options
that determine how the actual cell values are compared with the expected cell values.
Identify columns:-
By position. Default. Locates cells according to the column position.
A shift in the position of the columns within the table results in a mismatch.
By column name. Locates cells according to the column name. A shift in the
position of the columns within the table does not result in a mismatch.
(Enabled only when the table contains more than one column.)
Identify rows:-
By row number. Default. Locates cells according to therow position. A shift in the position of any of the rows within the table results in a mismatch.
By selected key column(s). Locates the row(s) containing the cells to be checked by matching the value of the cell whose column was previously selected as a key columnA shift in the position of the row(s) does not result in a mismatch. If more than one row is identified, QuickTest checks the first matching row.You can use more than one key column to uniquely identify any row.
Note: A key symbol is displayed in the header of selected key columns.
About Checking Text
Text Checkpoint.:- Enables you to check that the text is displayed in a Web
page, according to specified criteria. Text checkpoints are supported for Web-based applications (as long as the Web Add-in is loaded).
Standard Checkpoint. Enables you to check the text property of an object.
You can use standard checkpoints to check text in Windows-based and other
types of applications (including Web-based applications).
Þ    To add a text checkpoint while recording:- Insert > Checkpoint > Text Checkpoint or click the Insert Checkpoint or Output Value button and choose Text Checkpoint.
Configuring the Text Selection:-
Name:- the checkpoint name is the name of the test object on which the
checkpoint is being performed. You can specify a different name
for the checkpoint or accept the default name.
Class:- Specifies the type of object (read-only).
Checked Text :-Sets the highlighted text as the checked text. QuickTest displays this text in red and the remainder in black.
Text Before:- Sets the highlighted text as the text before the checked text.
Text After:- Sets the highlighted text as the text after the checked text.

You can choose from the following options for the checked text

Constant:- Default Sets the expected value of the checked text as a constant.
Parameter:-Sets the expected value of the checked text as a parameter.
Match case:- Conducts a case-sensitive check.
Exact match:-Checks for the exact expected text. For example, if you create a checkpoint with the following description, Check that New York is displayed
between Flight departing from and to San Francisco, and select Exact match, if
the actual text is New York City, the checkpoint fails. If you do not select
Exact match, the checkpoint passes because the expected text is contained
within the actual text.
Ignore spaces:- Ignores spaces in the captured text when performing the
check. The presence or absence of spaces does not affect the outcome of the
check.
Text not displayed:- Checks that the text string is not displayed. For example, if you create a checkpoint with the following description, Check that New York is displayed between Flight departing from and to San Francisco, and select Text not displayed.

Object Property Values:- Insert > Checkpoint > Standard Checkpoint, or click the Insert Checkpoint or Output Value toolbar button.
Þ    Select the item you want to check from the displayed object tree. The 
tree item name corresponds to the object’s class.

Object                                                              Class
Windows button                                               WinButton                         
Windows object                                               WinObject
Windows edit box                                            WinEdit                          
 Windows dialog box                                        Dialog
Web check box                                                WebCheckBox                      
Web edit box                                                   WebEdit
Web radio button                                            WebRadioGroup                  
Web list box                                                   WebList
Web element                                                  WebElement
Visual Basic combo box                                    VbComboBox
Visual Basic radio button                                 VbRadioButton
Visual Basic window                                          VbWindow

Checking Bitmaps:- QuickTest compares the object or selected area of
the object currently displayed on the Web page or application with the
bitmap stored when the test was recorded.

To create a bitmap checkpoint while recording:-
Insert > Checkpoint > Bitmap Checkpoint, or click the Insert Checkpoint or
Output Value button and choose Bitmap Checkpoint.


Checking Databases:- database checkpoints in your test to check databases accessed By your Web site or application, and to detect defects.
You can define a database query in the following ways:-
Create query using Microsoft Query:- Opens Microsoft Query, enabling
you to create a new query. After you finish defining your query, you
return to QuickTest. This option is available only if you have Microsoft
Query installed on your computer.

Specify SQL statement manually:-
Connection string. Enter the connection string, or click Create to open
the ODBC Select Data Source dialog box. You can select a .dsn file in the
ODBC Select Data Source dialog box or create a new .dsn file to have the
Database Query Wizard insert the connection string in the box for you.
SQL statement:- Enter the SQL statement.

Configuring Values
Constant:- A value that is defined directly in the step and remains
unchanged for the duration of the test.
Þ    If you select Constant, you can edit a single-line value directly in the
Constant box.
Þ    If the entire value cannot be displayed in the Constant box, it is shown as[complex value].
Parameter:- A value that is defined or generated separately from the step and is retrieved when the specific step runs.


Regular Expressions:-Regular expressions enable QuickTest to identify objects and text strings with varying values.
Þ    A regular expression is a string that specifies a complex search phrase. By using special characters, such as a period (.), asterisk (*), caret (^), and brackets ([ ]), you can define the conditions of a search.
Þ    QuickTest treats all characters in a regular expression literally,
except for the period (.), hyphen (-), asterisk (*), caret (^), brackets ([ ]),
parentheses (()), dollar sign ($), vertical line (|), plus sign (+), question mark
(?), and backslash (\). When one of these special characters is preceded by a
backslash (\), QuickTest treats it as a literal character.

Using the Backslash Character:-

 A backslash (\) can serve two purposes. It can be used in conjunction with a special character to indicate that the next character be treated as a literal character.
For example:- \w is a special character that matches any word character including Underscore.
Note: If a backslash character is used before a character that has no special
meaning, the backslash is ignored. For example, \z matches z.

Matching Any Single Character:- A period (.) instructs QuickTest to search for any single character (except for \n).
For example:- welcome matches welcomes, welcomed, or welcome followed by a space or any other single character.
Matching Any Single Character in a List:- Square brackets instruct QuickTest to search for any single character within a list of characters. For example, to search for the date 1967, 1968, or 1969,enter:196[789].
Matching Any Single Character Not in a List:- When a caret (^) is the first character inside square brackets, it instructs QuickTest to match any character in the list except for the ones specified in the string.
For example:- [^ab] matches any character except a or b.

Matching Any Single Character within a Range:- To match a single character within a range, you can use square brackets ([ ]) with the hyphen (-) character.

For example:- For instance, to match any year in the 1960s,enter: 196[0-9]
A hyphen does not signify a range if it is displayed as the first or last
character within brackets, or after a caret (^).

For example, [-a-z] matches a hyphen or any lowercase letter.
Note: Within brackets, the characters “.”, “*”, “[“ and “\” are literal. For
example, [.*] matches . or *. If the right bracket is the first character in the
range, it is also literal.

Matching Zero or More Specific Characters:- An asterisk (*) instructs QuickTest to match zero or more occurrences of the preceding character.
For example:-ca*r matches car, caaaaaar, and cr.
Matching One or More Specific Characters: - A plus sign (+) instructs QuickTest to match one or more occurrences of the preceding character.
For example:-ca+r matches car and caaaaaar, but not cr.
Matching Zero or One Specific Character:- A question mark (?) instructs QuickTest to match zero or one occurrences of the preceding character.
For example:-ca?r matches car and cr, but nothing else.
Grouping Regular Expressions:- Parentheses (()) instruct QuickTest to treat the contained sequence as a unit, just as in mathematics and programming languages. Using groups is especially useful for delimiting the argument(s) to an alternation operator ( | ) or a repetition operator ( * , + , ? , { } ).

Matching One of Several Regular Expressions:- A vertical line (|) instructs Quick Test to match one of a choice of expressions.
For example:-foo|bar causes QuickTest to match either foo or bar.
fo(o|b)ar causes QuickTest to match either fooar or fobar.
Matching the Beginning of a Line:- A caret (^) instructs QuickTest to match the
 expression only at the start of a line, or after a newline character.
For example:-book matches book within the lines—book, my book, and book list,
While ^book matches book only in the lines—book and book list.

Matching the End of a Line:- A dollar sign ($) instructs QuickTest to match the expression only at the end of a line, or before a newline character.
For example:-book matches book within the lines—my book, and book list, while a string that is followed by ($), matches only lines ending in that string.
For example: book$ matches book only in the line—my book.
Matching Any AlphaNumeric Character Including the Underscore:- \w instructs QuickTest to match any alphanumeric character and the underscore (A-Z, a-z, 0-9, _).
For example:- \w* causes QuickTest to match zero or more occurrences of the
alphanumericcharacters—A-Z, a-z, 0-9, and the underscore (_). It matches Ab, r9Cjor 12_uYLgeu_435.
For example:- \w{3} causes QuickTest to match 3 occurrences of the alphanumeric characters A-Z, a-z, 0-9, and the underscore (_). It matches Ab4, r9_, or z_M.
Matching Any Non-AlphaNumeric Character:- \W instructs QuickTest to match any character other than alphanumeric characters and underscores.
For example:- \W matches &, *, ^, %, $, and # .
Combining Regular Expression Operators:- You can combine regular expression operators in a single expression to achieve the exact search criteria you need.
For example:- you can combine the ‘.’ and ‘*’ characters to find zero or more
occurrences of any character (except \n).
For example:- start.*  matches start, started, starting, starter, and so forth.
Þ    You can use a combination of brackets and an asterisk to limit the search to a combination of non-numeric characters.
For example:- [a-zA-Z]*.

Parameterizing Values:- QuickTest enables you to expand the scope of a
basic test by replacing fixed values with parameters. This process, known as
parameterization.A parameter is a variable that is assigned a value from an
external data source or generator.

There are four types of parameters

Test/action parameters:-Test parameters enable you to use values passed from your test. Action parameters enable you to pass values from other actions in your test.
Input action parameter values can be used only within the steps of the
current action. You can use an action input value from another action (or
from the test) only if you pass the value from action to action down the test
hierarchy to the action in which you want to use it. For example: Test ->
Action1 -> Action2 -> Action3 -> (Action3) Step 1.

Output action parameter values can be retrieved from a previous action at
the same hierarchical level, from a parent action, or from the current action.

You pass the value from action to action up the test hierarchy to the
action in which you want to use it. 


For example:(Action3) Step 1-> Action3 -> Action2 -> Action1 -> Test -> Action4.

Data Table parameters:-Enable you to create a data-driven test (or action)that runs several times using the data you supply. In each repetition, or iteration, QuickTest uses a different value from the Data Table.

Setting Data Table Parameter Options:-

Name:- Specifies the name of the parameter in the Data Table.
Location in Data Table:-Specifies whether to store the parameter in the
global or current action sheet in the Data Table.

Advanced configuration (if applicable):-

Regular expression:- Sets the value of the parameter as a regular expression.

Use Data Table formula:- (If applicable.) Inserts two columns in the Data
Table. The first column contains a formula that checks the validity of
output in the second column. QuickTest uses the data in the output
column to compute the formula, and inserts a value of TRUE or FALSE in
the table cell of the formula column.
Environment variable parameters:-Enable you to use variable values from
other sources during the run session.
Random number parameters:- Enable you to insert random numbers as
values in your test.
Using Environment Variable Parameters:- QuickTest can insert a value from
 the Environment variable list, which is a list of variables and corresponding
values that can be accessed from your test. Throughout the test run, the value of an environment variable Remains the same, regardless of the number of iterations, unless you change the value of the variable programmatically in your script.
User-Defined Internal:- Variables that you define within the test. These
variables are saved with the test and are accessible only within the test in
which they were defined.

User-Defined External:- Variables that you predefine in the active external environment variables file.

Built-in:-Variables that represent information about the test and the
computer on which the test is run, such as Test path and Operating system.

Using the Data Driver to Parameterize Your Test:-
Choose Tools > Data Driver.
Þ    The Data Driver displays the Constants list for the action. For each constant value, it displays the number of times the constant value appears in the action.
Þ    By default, the list displays the constants for one or more of the arguments of the following methods: Activate, Collapse, Deselect, ExpandExtendSelect, Press, Select, SelectColumn, SelectRange, SelectRow, SetSetCellData, SetSecure, SetText, Type, and WaitProperty.
Þ    If you want to parameterize a value that is not currently displayed in the list (such as an object property value), click Add Value.
Þ    Select the value you want to parameterize from the Constants list and click Parameterize. The Data Driver Wizard opens.

Select the type of parameterization you want to perform:-

Step-by-step parameterization:-Enables you to view the current values of
each step containing the selected value.
Parameterize all:- Enables you to parameterize all occurrences of the
selected value throughout the action.
Þ    If you selected Step-by-step parameterization, click Next. The Parameterize the Selected Step screen opens.
Þ    If you selected Parameterize all, the Parameter option is enabled in the
Configure value area.
Click Next to parameterize the selected step and view the next step
containing the selected value.
Click Skip if you do not want to parameterize the selected step.
Click Finish to apply the parameterization settings of the current step to
all remaining steps containing the selected value.

Outputting Values:- An output value is a step in which one or more values
are captured at a specific point in your test and stored for the duration of the run session.The values can later be used as input at a different point in the run session.
Þ    ( rest all Same as above).

Working with Actions:- You can divide your test into actions to streamline the process of testing your application or Web site.
There are three kinds of actions:-

non-reusable action:-an action that can be called only in the test with which it
is stored, and can be called only once.
reusable action:-an action that can be called multiple times by the test with which it is stored (the local test), as well as by other tests.
external action:- a reusable action stored with another test. External actions are read-only in the calling test, but you can choose to use a local, editable copy of the Data Table information for the external action.
Þ    Two or more tests can call the same action and one action can call another action (this is known as nesting an action.
Using Global and Action Data Sheets:- When you output a value to the Data
Table or add a Data Table parameter to your test, you can specify whether to store the data in the Global data sheet or in the action data sheet.
Choosing Global sheet enables you to create a new column or select an
existing column in the Global sheet in the Data Table.
Each action also has its own sheet in the Data Table so that you can insert
data that applies only to that action. Choosing Current action sheet (local)
enables you to create a new column or select an existing column in the
corresponding action sheet in the Data Table.
Þ    For example, suppose you want to test how a flight reservation system
handles multiple bookings. You may want to parameterize the test to check
how your site responds to multiple sets of customer flight itineraries. When
you plan your test, you plan the following procedures:
1 The travel agent logs into the flight reservation system.
2 The travel agent books five sets of customer flight itineraries.
3 The travel agent logs out of the flight reservation site.
When you consider these procedures, you realize that it is necessary to
parameterize only the second step—the travel agent logs into the flight
reservation system only once, at the beginning, and logs out of the system
only once, at the end. Therefore, it is not necessary to parameterize the
login and logout procedures in your test you canparameterize the second
 action in your test without parameterizing the others.
Þ    View > Toolbars > Action.
Þ    The Action List enables you to view either the entire test flow (the calls to the actions in the test) or you can view the steps for a selected reusable or external action.
To create a new action in your test:- click the step after which you want to insert the new action.
Insert > Call to New Action.

In the Name box, type a new action name or accept the default name.
In the Description box, add a description of the action. The description makes it easier for you to select the action you want to call.
Select Reusable Action if you want to be able to call the action from other
tests or multiple times from within this test.
Decide where to insert the call to the action by selecting At the end of the
test or After the current step.

Setting General Action Properties:-
Name
Location:- The folder or Quality Center path where the action is stored.
 Description:- You can insert comments about the action.
Indicates whether the action is a reusable action.
 A reusable action can be called multiple times within a test and can be called from
other tests.Non-reusable actions can be copied and inserted as independent actions,
but cannot be inserted as calls to the original action.

Splitting Actions:- You can split an action that is stored with your test into two
sibling actions or into parent-child nested actions.
Choose Edit > Action > Split Action, click the Split Action button, or
right-click the step and choose Action > Split. The Split Action dialog box
opens.

Choose one of the following options:
Independent of each other. Splits the selected action into two sibling
actions.
Nested (the second action is called by the first). Splits the selected action
into a parent action whose last step calls the second, child action.
If you wish, modify the name and description of the two actions in the
Name and Description boxes.

Removing a Non-Reusable Action:- Removing a call to a non-reusable action from your test, deletes the actionitself entirely as well as the action’s data sheet. Edit > Delete.
Handling Missing Resources:- The Missing Resources pane
provides a list of all resources that are currently unavailable, enabling you to
remap or remove them from your test. After you successfully handle a
missing resource, QuickTest removes it from the pane.
<Missing Action Name>. If a test contains an action or a call to an action
that cannot be found, QuickTest specifies the path it uses to search for the
test containing the missing action.
Missing Object Repository:- If a test is associated with a shared object
repository that cannot be found, QuickTest specifies the path it uses to
search for the missing object repository.
Repository Parameters:- If a test has at least one test object with a property value that is parameterized using a repository parameter that does not have a default value, QuickTest adds this generic item to the Missing Resources pane.
To filter the list of displayed missing resources:- Right-click in the Missing Resources pane and choose one of the following:
All. Displays a list of all missing resources in your test.
Missing Action. Displays a row for each missing action, specifying the
path QuickTest uses to search for each test that contains a missing action.
Missing Object Repository. Displays a row for each shared object
repository that cannot be found, specifying the path QuickTest uses to
search for the shared object repository.
Object Repository Parameter. Displays a generic row indicating that at
least one test object in the repository has at least one parameterized
property value that uses a repository parameter that does not have a
default value.

Working with Data Tables:- The data your test uses is stored in the
design-time Data Table, which is displayed in the Data Table pane at the
bottom of the screen while you insert and edit steps.
The Data Table has the characteristics of a Microsoft Excel spreadsheet,
meaning that you can store and use data in its cells and you can also
perform mathematical formulas within the cells. You can use the
DataTable, DTSheet and DTParameter utility objects to manipulate the
data in any cell in the Data Table.
You can insert Data Table parameters and output values into your test. Using Data Table parameters and/or output values in a test enables you to create a data-driven test or action that runs several times using the data you supply.In each repetition, or iteration, QuickTest uses a different value from the Data Table. When working with tests, the Data Table has two types of data sheets— Global and Action.

Global Sheet
The Global sheet contains the data that replaces parameters in each
iteration of the test.
Action Sheets
Each time you add a new action to the test, a new action sheet is added to
the Data Table. Action sheets are automatically labeled with the exact name
of the corresponding action. The data contained in an action sheet is
relevant for Data Table parameters in the corresponding action only.
Whenever you save your test, QuickTest automatically saves its Data
Table as an .xls file.
You use the Data Table in the same way as an Microsoft Excel
spreadsheet, including inserting formulas into cells. You can also import
data saved in Microsoft Excel, tabbed text file (.txt), or ASCII format.
Data Table Specifications
The main limitations for working with the Data Table are listed below:
Maximum worksheet size. 65,536 rows by 256 columns
Column width. 0 to 255 characters
Text length. 16,383 characters
Formula length. 1024 characters
Number precision. 15 digits
Largest positive number. 9.99999999999999E307
Largest negative number. -9.99999999999999E307
Smallest positive number. 1E-307
Smallest negative number. -1E-307
Maximum number of names per workbook. Limited by available memory.
Maximum length of name. 255
Maximum length of format string. 255
Maximum number of tables (workbooks). Limited by system resources
(windows and memory)
The use of colors and formatting in the Data Table is not supported.
Complex and/or nested formulas are not supported in the Data Table.
Combo box and list cells, conditional formatting, and other special cell
formats are not supported in the Data Table.
Using the Data Table Menu Commands:- To open the Data Table menu,
right-click a cell, a row heading or a column heading.
The following menus are available:
File
Sheet
Edit
Data
Recalc:- Recalculates any formula cells in the table.
Sort:- Sorts a selection of cells by row or column and keys in
ascending or descending order.
AutoFill List:- Creates, edits, or deletes an autofill list. An autofill list
contains frequently-used series of text such as months and
days of the week. To use an autofill list, enter the first item
into a cell in the table. Drag the cursor, from the bottom right
corner of the cell, and QuickTest automatically fills in the
cells in the range according to the autofill list.
Encrypt:- Encodes the text in the selected cells. You can also use the Password
Encoder to encrypt any text string. This can be useful for entering encrypted strings as method arguments in the Expert View.

Format:-
General:- Sets format to General. The General format displays numbers
with as many decimal places as necessary and no commas.
Currency(0):- Sets format to currency with commas and no decimal places.
Currency(2) :-Sets format to currency with commas and two decimal places.
Fixed:- Sets format to fixed precision with commas and no decimal places.
Percent:- Sets format to percent with no decimal places. Numbers are
displayed as percentages with a trailing percent sign (%).
Fraction:-Sets format to fraction in numerator denominator form, e.g.1/2.
Scientific:- Sets format to scientific notation with two decimal places.
date (dynamic) :-Sets format to Date with the M/D/YY format.

Time: h:mm,AM/PM:- Sets format to Time with the h:mm AM/PM format.
Using Formulas in the Data Table:- You can use Microsoft Excel formulas
in your Data Table.You can also use formulas as part of a checkpoint to check
that objects created on-the-fly (dynamically generated) or other variable objects
 in your Web page or application have the values you expect for a given context. You can use the TEXT and VALUE functions to convert values from one type to another as follows:
TEXT(value, format) returns the textual equivalent of a numeric value in
the specified format, so that, for example the formula =TEXT(8.2, "0.00") is
"8.20".
VALUE(string) returns the numeric value of a string, so that, for example,
=VALUE("$8.20") is 8.20.
Using Formulas to Create Parameterization Data:- You can set the
cells in the Date column to the date format, and enter the =NOW() Excel
formula into the first row to set the value to today’s date for the first
iteration.Then you can use another formula in the remaining rows to enter the above date plus one day.

Using Formulas in Checkpoints:- suppose a shopping cart Web site displays a price total. You can create a text checkpoint on the displayed total value and use a Data Table formula to check whether the site properly computes the total, based on the individual prices of the products selected for purchase in each iteration.

Inserting Steps Using the Step Generator :- The Step Generator enables you to add steps by selecting from a range of context-sensitive options and entering the required values. Choose Insert > Step Generator or right-click the step and choose Insert

Step > Step Generator. Alternatively, press F7.
Confirm that the Active Screen is displayed. If it is not, choose View > Active
Screen or toggle the Active Screen toolbar button.
In the Active Screen, right-click the object for which you want to insert a
step, and choose Step Generator.

Adding Steps Containing Programming Logic:- Programming
statements can contain:

recordable test object methods: operations that a user can perform on an
application or Web site.
non-recordable test object methods: operations that users cannot perform
on an application or Web site. You use these methods to retrieve or set
information, or to perform operations triggered by an event.
run-time methods of the object being tested.
various VBScript programming commands that affect the way the test runs,
such as conditions and loops. These are often used to control the logical
flow of a test.
supplemental statements, such as comments, to make your test easier to
read, and messages that appear in the test results, to alert you to a specified
condition.

To open the Step Generator from the Keyword View or Expert View:-
Insert > Step Generator
1 In the function library, click the location in which you want to insert the
new step.
2 Choose Insert > Step Generator, or right-click and choose Step Generator.
Alternatively, press F7.

To open the Step Generator from the Active Screen while editing:-

 View > Active Screen or toggle the Active Screen toolbar button.
In the Active Screen, right-click the object for which you want to insert a
step, and choose Step Generator.
The Object Selection - Step Generator dialog box opens.
Select an object and click OK.

Defining Steps in the Step Generator Dialog Box:- The Step Generator dialog box enables you to add steps that perform operations, using test object methods (for tests only), Utility object methods, or function calls.

Selecting the Type of Step to Add:- In the Category list box, you can choose one of the following options
Test Objects. Enables you to select a test object and method for the step (for tests only).
Utility Objects. Enables you to select a Utility object and method for the
step.
Functions. Enables you to select a function for the step from the available
library functions (tests only), VBScript functions, and internal script
functions.

Specifying Argument Values:- If the selected method or function has arguments, the Arguments area displays the name and type of each argument.
Þ    In the Value column, you can define the values for the arguments, as
follows:
Mandatory arguments. If the name of the argument is followed by a red
asterisk (*), you must specify a value for the argument.
Optional arguments. If the name of the argument is not followed by a red
asterisk (*), you can specify a value for the argument or leave the cell blank.
Required arguments. If you specify a value for an optional argument, then
you must also specify the values for any optional arguments that are listed
before this argument.
Parameterized arguments. You can use a parameter for any argument value
by clicking the parameterization button.

Using Conditional Statements:- Your If...Then...Else statement can be nested to as many levels as you need.

To insert a conditional statement in the Keyword View:-

1 In the Keyword View,select the step that you want the conditional
2 Choose Insert > Conditional Statement and choose If...Then. The new
statement is added to the Keyword View below the selected step.
3 Click in the Item cell for the If statement. Then click the down arrow and
select the object on which you want to perform the conditional statement.
4 Click in the Operation cell and select the operation you want to perform.
5 If needed, click in the Value cell and enter the required condition.
6 Insert a Then statement by selecting the If statement step and inserting a
new statement (Insert > New Step) or by recording a new step.
7 Delete the row immediately above the If statement.

an If statement                       Insert > Conditional Statement > If...Then
an ElseIf statement               Insert > Conditional Statement > ElseIf...Then
an Else statement                  Insert > Conditional Statement > Else.


The following loop statements are available in the Keyword View:

While...Wend. Performs a series of statements as long as a specified
condition is True.
For...Next. Uses a counter to perform a group of statements a specified
number of times.
Do...While. Performs a series of statements indefinitely, as long as a specified
condition is True.
Do...Until. Performs a series of statements indefinitely, until a specified
condition becomes True.

To insert a loop statement in the Keyword View:-

Choose Insert > Loop Statement  and choose the statement type that you
want to insert from the sub-menus.
While...Wend statement
For...Next statement
Do...While statement
Do...Until statement.


Synchronizing Your Test:- When you run a test, your application may not always respond with thesame speed. For example, it might take a few seconds:
for a progress bar to reach 100%
for a status message to appear
for a button to become enabled
for a window or pop-up message to open.

There are several options that you can use to synchronize your test:-  


You can insert a synchronization point, QuickTest generates a WaitProperty statement in the Expert View.
You can insert Exist or Wait statements that instruct QuickTest to wait until an object exists or to wait a specified amount of time before continuing the test.
You can modify the default amount of time that QuickTest waits for a Web
page to load.
When working with tests, you can increase the default timeout settings for a test to instruct QuickTest to allow more time for objects to appear.


To insert a synchronization point:- 1 Begin recording your test.
2 Display the screen or page in your application that contains the object for
which you want to insert a synchronization point.
3 In QuickTest, choose Insert > Synchronization Point.
4 Click the object in your application for which you want to insert a
synchronization point.the Object Selection - Synchronization Point
 dialog box opens.
5 The Property name list contains the test object properties associated with
the object. Select the property name you want to use for the
synchronization point.
6 Enter the property value for which QuickTest should wait before continuing
to the next step in the test.
7 Enter the synchronization point timeout (in milliseconds) after which
QuickTest should continue to the next step, even if the specified property
value was not achieved.
8 Click OK.


Debugging Tests and Function Libraries:- you should check that they run smoothly, without errors in syntax or logic.
Þ    You can run a single step of a test or function library using the Step IntoStep Out, and Step Over commands.

Step Into
Choose Debug > Step Into, click the Step Into button, or press F11 to run
only the current line of the active test or function library.
Step Out
Choose Debug > Step Out, click the Step Out button, or press SHIFT+F11
only after using Step Into to enter an action or a user-defined function.
Step Over
Choose Debug > Step Over, click the Step Over button, or press F10 to run
only the current step in the active test or function library.
Using Breakpoints:- You can use breakpoints to instruct QuickTest to pause a run session at a predetermined place in a test or function library.
You can use breakpoints to:
suspend a run session and inspect the state of your site or application
mark a point from which to begin stepping through a test or function
library using the step commands.


Setting Breakpoints:- A breakpoint is indicated by a filled red circle icon in the left margin adjacent to the selected step.
To set a breakpoint:-
Click in the left margin of a step in the test or function library where you
    want the run to stop
Click a step and then:
Click the Insert/Remove Breakpoint button
Choose Debug > Insert/Remove Breakpoint.


Enabling and Disabling Breakpoints:- An enabled breakpoint is indicated by a filled red circle icon in the left margin adjacent to the selected step.
A disabled breakpoint is indicated by an empty circle icon in the left margin adjacent to the selected step. To enable/disable a specific breakpoint:

1 Click in the line containing the breakpoint you want to disable/enable.
2 Choose Debug > Enable/Disable Breakpoint or press CTRL+F9.

Removing Breakpoints:- To remove a single breakpoint
Click the breakpoint.
Click the line in your test or function library with the breakpoint symbol
and:
Click the Insert/Remove Breakpoint button.
Choose Debug > Insert/Remove Breakpoint.

Handling Run Errors:- The Run Error message box displayed during a run session offers a number of buttons for dealing with errors encountered:
Stop. Stops the run session. The run results are displayed if QuickTest is
configured to show run results after the run.
Retry. QuickTest attempts to perform the step again. If the step succeeds, the run continues.
Skip. QuickTest skips the step that caused the error, and continues the run
from the next step.


 • Debugging Tests and Function Libraries
Debug. QuickTest suspends the run, enabling you to debug the test and any associated function library that contains a function called by the test.
Help. Opens the QuickTest troubleshooting Help for the displayed error
message. After you review the Help topic, you can select another button in
the error message box.
Details. Expands the message box to display additional information on the
error.

Testing Web Objects:- You can test Web objects such as hyperlinks,
images, image maps, and View link objects. You can create Web object 
checkpoints to compare the expected values of object properties captured during the recording of the test to the object’scurrent values during a run session. You can perform checks on Web page properties, text, and tables.


Note:- Before you begin recording on Web sites and applications, you should
ensure that you have installed and loaded the Web add-in. You can check
whether the Web add-in is installed by choosing Help > About QuickTest
Professional.


Working with Web Browsers:- QuickTest supports recording tests only on Microsoft Internet Explorer. It supports running tests on the following Web browsers:
Microsoft Internet Explorer
Netscape Browser
Mozilla Firefox
Applications with embedded Microsoft Internet Explorer Web browser
Controls.


Working with Microsoft Internet Explorer:-
QuickTest Professional Web support behaves as a browser extension in
Microsoft Internet Explorer. Therefore, you cannot use the Web Add-in on
Microsoft Internet Explorer without enabling the Enable third-party
browser extensions option. To set the option, in Microsoft Internet Explorer
choose Tools > Internet Options > Advanced and select the Enable thirdparty browser extensions option.
QuickTest Professional does not support tabbed browsing. Therefore, before
using the Web Add-in, you must disable tabbed browsing on Internet
Explorer. To disable the option, in Microsoft Internet Explorer choose


Tools > Internet Options > General > Change how webpages are displayed in tabs > Settings and clear the Enable Tabbed Browsing option


After clearing this option, you must restart your browser before using the
QuickTest Professional Web Add-in.


Working with Netscape Browser and Mozilla Firefox:- QuickTest computer
when launching Mozilla Firefox with QuickTest for the first time, since
adding QuickTest support for Mozilla Firefox requires a file to be created in
the browser's installation folder.

Use the keyword-driven methodology; Create an object repository for
your application using the Object Repository window (local object
repository) or Object Repository Manager (shared object repository), and
then add steps using the Keyword View or Step Generator. When you use
the keyword-driven methodology, you can add objects using Mozilla
Firefox or Netscape Browser if you want; you do not have to use
Microsoft Internet Explorer.
Generally, tests that were recorded on Microsoft Internet Explorer will run
on Netscape Browser or Mozilla Firefox without requiring any modification.
However, there are several differences that you should keep in mind:
QuickTest does not support Netscape Browser or Mozilla Firefox menus
or sidebars. The only toolbar buttons that are supported are the Home,
Refresh, Back, Forward, and Stop buttons. All other toolbars and toolbar
buttons are not supported.
The following toolbar buttons are the only supported toolbar buttons for Netscape Browser.The following toolbar buttons are the only supported toolbar buttons for
Mozilla Firefox.
If you record steps on any unsupported menu or toolbar objects when
working with Microsoft Internet Explorer, you need to remove or replace
the steps before running the test on Netscape Browser or Mozilla Firefox.
Netscape Browser or Mozilla Firefox use different standard dialog boxes
than the Windows standard dialog boxes used by Microsoft Internet
Explorer. If your test contains steps on such dialog boxes, you should
create appropriate steps to be used when running on Netscape Browser or
Mozilla Firefox.
If you record steps on any unsupported menu or toolbar objects when
working with Microsoft Internet Explorer, you need to remove or replace
the steps before running the test on Netscape Browser or Mozilla Firefox.
Tabbed browsing is not supported by QuickTest for any browser type. In
Netscape Browser or Mozilla Firefox, you must specifically configure your
browser to open a new browser window instead of a new tab. This
configuration is dependent on the nature of your application and therefore
configuration instructions are not provided. In most cases, you can add
objects to the object repository and run tests on the active browser tab, even
if there are additional tabs currently open.
Although Netscape Browser supports both Mozilla Firefox and Internet
Explorer engines, QuickTest supports only the Mozilla Firefox engine. If
your test fails or QuickTest does not recognize any objects in your Web page,
make sure Netscape Browser is not using the Internet Explorer engine to
display it.
To change the rendering engine to Mozilla Firefox, click the icon in the
bottom-left corner of Netscape Browser and select Display Like Firefox.
Tips:
You can configure the browser to always display your pages using the
Mozilla Firefox engine (In Netscape Browser, choose Tools > Options > Site
Controls, and, in the Site List tab, make sure that the Firefox radio button is
selected in the Rendering Engine area).
You can configure the browser to always display your pages using the
Mozilla Firefox engine by clearing the Automatically use the Internet
Explorer Engine check box while installing Netscape Browser.
The Object property accesses DOM objects. These are not supported by
Netscape Browser or Mozilla Firefox.

Working with Applications with Embedded Web Browser Controls:-
To record and run tests on an application with embedded Web browser
controls:
Make sure the ActiveX Add-in is loaded.
Make sure the application is opened after QuickTest.
Select Record and run test on any open browser in the Record and Run
Settings dialog box.
Start recording or running the test.


Checking Web Pages:- You can check statistical information about your
Web pages by adding page checkpoints to your test. These checkpoints
check the links and the sources of the images on a Web page.
You can also instruct page checkpoints to include a check for broken links.


Automatic Page Checkpoints:- You can instruct QuickTest to create automatic page checkpoints for every page in all tests by selecting the Create a checkpoint for each Web page while recording check box in the Advanced Web Options dialog box.


Creating Individual Page Checkpoints:- You can manually add a page checkpoint to your test to check the links andthe image sources on a selected Web page either while recording or editing your test.
To add a page checkpoint while recording:
1 Navigate to the page to which you want to add a checkpoint.
2 Choose Insert > Checkpoint > Standard Checkpoint, or click the Insert
Checkpoint or Output Value button and choose Standard Checkpoint.
The QuickTest window is minimized and the pointer turns into a pointing
hand.
3 Click in the page you want to check. The Select an Object dialog box opens.
4 Select the Page item and click OK.

To add a page checkpoint while editing your test:-

1 Make sure the Active  Screen button is selected.
2 Click a step in your test where you want to add a checkpoint. The Active
Screen displays the HTML source corresponding to the highlighted step.
3 Right-click anywhere on the Active Screen and choose Insert Standard
Checkpoint. The Object Selection - Checkpoint Properties dialog box opens.
4 Select the Page item you want to check from the displayed object tree.
5 Click OK.

Checking the HTML Verification:- In the HTML verification area, you can use
 the following options to check the HTML source and tags of the page.

HTML source:- Checks that the source in the Web page being tested matches the expected HTML code (the source code of the page at the time that the test is recorded).
Available only when creating a page checkpoint while recording.

Edit HTML Source(enabled only when the HTML Source check box is selected):-

Opens the HTML Source dialog box, which displays the expected HTML code.
 Edit the expected HTML source code and click OK. Note that you can also use regular expressions when editing the expected HTML source code if you click the regular expression check box at the bottom of the page. You can search and replace text strings in the HTML Source dialog box by right-clicking and choosing Find or 
Replace HTML tags:- Checks that the HTML tags in the Web page being tested match the expected HTML tags (the HTML tags on the page at the time that the test is recorded).

Edit HTML Tags (enabled only when the HTML Tags check box is selected):-
Opens the dialog box that displays the expected HTML tags. Edit the expected HTML tags and click OK. Note that you can also use regular expressions when editing the HTML tags if you click the regular expression check box at
the bottom of the page.
You can search and replace text strings in the Edit HTMLTags dialog box by right-clicking and choosing Find or Replace.

Checking All the Objects in a Page:- In the All objects in page area, you can
check all the links, images, and broken links in a page.

Links:- Checks the functionality of the links in the page according to your selections in the Filter Link Check dialog box.

Filter Link Check (enabled only when the Links check boxis selected):-

Opens the Filter Link Check dialog box, which enablesyou to specify which
hypertext links to check in the page.


Images:- Checks that the images are displayed on the page according to your selections in the Filter Images Check dialog box.


Filter Image Check (enabled only when the Images check box is selected):-
Opens the Filter Image Check dialog box, which enables you to specify which image sources to check in the page.


Broken links:- Instructs QuickTest to check for broken links.


Note that if you want to check only links that are targeted to your current host, you should select the Broken links - checks only links to current host option in the Web tab of the Options dialog box.


Setting General Checkpoint Options:- The bottom part of the Checkpoint
Properties dialog box contains the following options:
Checkpoint timeout. Specifies the time interval (in seconds) during which
QuickTest attempts to perform the checkpoint successfully. QuickTest
continues to perform the checkpoint until it passes or until the timeout
occurs. If the checkpoint does not pass before the timeout occurs, the
checkpoint fails.
Insert statement. Specifies when to perform the checkpoint in the test.
Choose Before current step if you want to check the value of the object
property before the highlighted step is performed. Choose After current step
if you want to check the value of the object property after the highlighted
step is performed.


Checking Web Content Accessibility:- You can add accessibility
checkpoints to help you quickly identify areas of your Web site that may not
conform to the W3C Web Content Accessibility Guidelines. You can add
automatic accessibility checkpoints to each page in your test, or you can add
individual accessibility checkpoints to individual pages or frames.


Automatic Accessibility Checkpoints
You can instruct QuickTest to create automatic accessibility checkpoints for
every page in all tests by selecting the Add Automatic accessibility
checkpoint to each Web page while recording check box in the Advanced
Web Options dialog box (click the Advanced button in the Web tab of the
Options dialog box). If you select this option, an accessibility checkpoint is
inserted for each page as you record.


Creating Individual Accessibility Checkpoints
If you did not choose to add accessibility checkpoints automatically while
recording, you can add an accessibility checkpoint to help you quickly
identify areas of a particular Web page or frame that may not conform to the
W3C Web Content Accessibility Guidelines. You can add accessibility
checkpoints either while recording or editing your test.


To add an accessibility checkpoint while recording:-
1 Navigate to a page where you want to add an accessibility checkpoint.
2 Choose Insert > Checkpoint > Accessibility Checkpoint, or click the Insert
Checkpoint or Output Value button and choose Accessibility Checkpoint.
3 Click in the page or frame you want to check:
If the page contains frames, the Object Selection - Accessibility
Checkpoint Properties dialog box opens. Select the Page or Frame item
you want to check and click OK.
The Accessibility Checkpoint Properties dialog box opens.
The dialog box displays the object’s name,
class (this is always Page or Frame), and the options that are currently
selected. You can modify the option settings in the Advanced Web
Options dialog box.


To add an accessibility checkpoint while editing your test:-
1 Make sure the Active Screen button is selected.
2 Click a step in your test where you want to add a checkpoint. The Active
Screen displays the HTML source corresponding to the highlighted step.
3 Right-click anywhere on the Active Screen, and choose Insert Accessibility
Checkpoint.
If the page contains frames, the Object Selection - Accessibility
Checkpoint Properties dialog box opens. Select the Page or Frame item
and click OK. The Accessibility Checkpoint Properties dialog box opens.
The dialog box displays the options that are
currently selected. You can modify the option settings in the Advanced
Web Options dialog box.
Choose Before current step if you want to check the accessibility elements
before the highlighted step is performed. Choose After current step if you
want to check the accessibility elements after the highlighted step is
performed.


Accessing Password-Protected Resources in the Active Screen:-
When QuickTest creates an Active Screen page for a Web-based application,
it stores the path to images and other resources on the page, rather than
downloading and storing the images with your test. This ensures that the
disk space used by the Active Screen pages captured with your test is not
affected by the file size of the resources displayed on the page.
For this reason, a page in the Active Screen (or in your test results) may
require a user name and password to access certain images or other resources
within the page. If this is the case, a pop-up login window may open when
you select a step corresponding to the page, or you may note that images or
other resources are missing from the page.
For example, the formatting of your page may look very different than the
actual page on your Web site if the cascading style sheet (CSS) referenced in
the page is password-protected, and therefore could not be downloaded to
the Active Screen.
You may need to use one or both of the following methods to access your
password-protected resources, depending on the password-protection
mechanism used by your Web server:
Standard Authentication. If your server uses a standard authentication
mechanism, you can enter the login information in the Web tab of the Test
Settings dialog box. QuickTest saves this information with your test and
automatically enters the login information each time you select to display
an Active Screen page that requires the information.
Advanced Authentication. If your server uses a more complex
authentication mechanism, you may need to log in to the Web site
manually using the Advanced Authentication dialog box. This gives the
Active Screen access to password-protected resources in your Active Screen
pages for the duration of your QuickTest session. When using this method,
you must log in to your Web site in the Advanced Authentication dialog box
each time you open the test in a new QuickTest session.
In most cases, the automatic login is sufficient. In some cases, you must use
the manual login method. In rare cases, you may need to use both login
mechanisms to enable access to all resources in your Active Screen pages.
Using the Standard Authentication Mechanism:-
If you select a step in your test or results, and an Active Screen login window
opens over the Active Screen or results details display, then one or more
images or other resources in the Active Screen may be password-protected.
To prevent the pop-up login window from opening and to ensure that all
images and resources are displayed in the Active Screen and results each
time you open the test, you can use the automatic Active Screen login
mechanism.
To enable the mechanism, you can select Save the User Name and Password
in the pop-up login window the first time it opens. This adds the login
information to the Active Screen access area in the Web tab of the Test
Settings dialog box. Alternatively, you can add the login information
manually in the Web tab of the Test Settings dialog box.
To set Active Screen access information in the Test Settings dialog box:-
1 Choose File > Settings. The Test Settings dialog box opens.
2 Click the Web tab.
3 Enter the User name and Password for the Web site or Web page containing
the password-protected resources.
4 Click OK to save your changes and close the dialog box.
Using the Advanced Authentication Mechanism:-
To enable the Active Screen to access the resources on such a site, you must
log in to your site using the Advanced Authentication dialog box. When you
log in this way, you remain logged in to the site for the duration of the
QuickTest session. If you close and reopen QuickTest and then reopen your
test, you must log in again.
Note: If the site to which you log in has an inactivity timeout after which
you are automatically logged out of the Web site, you may need to log in
using the Advanced Authentication dialog box more than once while
editing your test to re-enable access to your Active Screen pages.

To log in to your Web site using the advanced authentication mechanism:-
1 Choose File > Settings. The Test Settings dialog box opens.
2 Click the Web tab.
3 Click the Advanced button. The Advanced Authentication dialog box opens.
The browser window in the dialog box displays the default Web page for the
test according to the following guidelines:
The first time you open this dialog box for a given test, the browser
window displays the URL address set for the test in the Web tab of the
Record and Run Settings dialog box.
If you navigate to a new URL address using this dialog box, that address
becomes the default Advanced Authentication page for this test.
4 If the displayed Web page is not the correct page for logging in to your site,
enter the correct URL address in the Address box and click Go. Otherwise,
proceed to step 5.
5 Enter your login information in the page displayed in the Advanced
Authentication browser window.
6 When the login process is complete, click Close. The Advanced
Authentication dialog box closes, but the login session remains open for the
remainder of your QuickTest session (or until the Web site’s inactivity
timeout is exceeded).
7 Refresh the Active Screen by selecting a new step in the Keyword View or
toggle the Active Screen button to redisplay the Active Screen. Confirm that
the pages are displayed correctly.
If you still cannot view images or other resources on your Active Screen, you
may not be connected to the Internet, the Web server may be down, or the
source path that was captured with the Active Screen page may no longer be
accurate.


Registering Browser Controls:- A browser control adds navigation, document viewing, data download, and other browser functionality to a non-Web application. This enables the userto browse the Internet as well as
local and network folders from within the application.
QuickTest Professional cannot automatically recognize the objects that
provide browser functionality in your non-Web application as Web objects.
For QuickTest to record or replay on these objects, the application hosting
the browser control must be registered.


Note: You can register applications developed in different environments,
such as those written in Java, .NET, and so forth.
Þ    You use the Register Browser Control utility to define the path of your Web application hosting the browser control. After registration, QuickTest will recognize Web objects in your application when recording or running tests.


To open the Register New Browser Control utility, choose Start > Programs >


QuickTest Professional > Tools > Register New Browser Control.
Enter the absolute path to the .exe file of the application hosting the
browser control, and click Register. To remove a registered application, enter
the absolute path and click Unregister.
After you register an application hosting a browser control using this utility,
you must restart QuickTest Professional to test your application.


Checking XML:- XML (Extensible Markup Language) is a meta-markup
language for textdocuments that is endorsed as a standard by the World Wide Web Consortium (W3C). XML makes the complex data structures portable
between different computer environments/operating systems and
programming languages, facilitating the sharing of data.
XML files contain text with simple tags that describe the data within an
XML document. These tags describe the data content, but not the
presentation of the data. Applications that display an XML document or file
use either Cascading Style Sheets (CSS) or XSL Formatting Objects (XSL-FO)
to present the data.
A few common uses of XML checkpoints are described below:-
An XML file can be a static data file that is accessed to retrieve commonly
used data for which a quick response time is needed—for example, country
names, zip codes, or area codes. Although this data can change over time, it
is normally quite static. You can use an XML file checkpoint to validate that
the data has not changed from one application release to another.
An XML file can consist of elements with attributes and values (character
data). There is a parent and child relationship between the elements, and
elements can have attributes associated with them. If any part of this
hierarchy (including data) changes, your application’s ability to process the
XML file may be affected. Using an XML checkpoint, you can check the
content of an element to make sure that its tags, attributes, and values have
not changed.
Web service operations often return XML values. If the Web Service Add-in
is installed on your computer, you can send a Web service operation
command to the service and use an XML checkpoint to verify that the
service returns the XML in the expected structure and with the expected
values.
XML files are often an intermediary that retrieves dynamically changing
data from one system. The data is then accessed by another system using
Document Type Definitions (DTD), enabling the accessing system to read
and display the information in the file. You can use an XML checkpoint and
parameterize the captured data values if you want to check an XML
document or file whose data changes in a predictable way.
XML documents and files often need a well-defined structure to be portable
across platforms and development systems. One way to accomplish this is
by developing an XML schema, which describes the structure of the XML
elements and data types. You can use schema validation to check that each
item of content in an XML file adheres to the schema description of the
element in which the content is to be placed.


You can create three types of XML checkpoints:
XML Web Page/Frame Checkpoint. Checks an XML document within a Web
page or frame.
XML File Checkpoint. Checks a specified XML file.
XML Test Object Checkpoint. Checks the XML data for an object or
operation.


Creating XML Checkpoints for Web Pages and Frames:-


To create an XML Checkpoint on XML contained in a Web page or frame:
1 Begin recording your test.
2 Choose Insert > Checkpoint > XML Checkpoint (From Application), or click
the Insert Checkpoint or Output Value toolbar button and select XML
Checkpoint (From Application).
The QuickTest window is minimized and the pointer becomes a pointing
hand.


Tips:-Hold the left CTRL key to change the window focus or perform operations such as right-clicking or moving the pointer over an object to display a context menu. If the window containing the object you want to select is minimized, you can display it by holding the left CTRL key, right-clicking the application in the Windows task bar, and choosing Restore from the context menu.
You can also insert a Web page or frame checkpoint using the XML (From
Resource) option by selecting an existing WebXML test object as long as the
actual XML object is currently available (open in the browser).
3 Click a Web page or frame that contains XML documents.
If only one XML file is associated with the Web page or frame, the XML
Checkpoint Properties dialog box opens. In this case, proceed to step 5.
If more than one XML document is associated with the selected location,
the Object Selection - XML Checkpoint Properties dialog box opens.
4 Select the XML document you want to check, and click OK.
The XML Checkpoint Properties dialog box opens.
The XML Checkpoint Properties dialog box displays the element hierarchy
and values (character data) of the selected XML document.
6 Select the items to check for the checkpoint.
When you finish setting your checkpoint preferences, click OK to add the
XML checkpoint.


Creating XML File Checkpoints:- You create XML file checkpoints to directly
access and verify specific XML files in your system. You can create an XML
file checkpoint while you are recording or editing your test.


To create an XML file checkpoint:
1 Choose Insert > Checkpoint > XML Checkpoint (From Resource) or click the
Insert Checkpoint or Output Value toolbar button, and select XML
Checkpoint (From Resource). The XML Source Selection - Checkpoint
Properties dialog box opens.
2 Select Create new checkpoint from file. Enter the file path or Internet
address of the XML file.
Alternatively, click the browse button to open the Open XML File dialog
box, and then navigate to the XML file for which you want to create a
checkpoint. You can specify an XML file either from your file system or from
Quality Center. Select the file and click Open. The file path and name are
entered in the box.
3 Click OK in the XML Source Selection - Checkpoint Properties dialog box.
The XML Checkpoint Properties dialog box opens.
The XML Checkpoint Properties dialog box displays the element hierarchy
and values (character data) of the selected XML file.
click OK to add the XML checkpoint.


Creating XML Test Object Checkpoints:-
You can create an XML test object checkpoint to check the elements,
attributes and/or values of XML associated with the selected test object. For
example, you can check the XML that is returned from an operation
performed on a Web service. You can create an XML test object checkpoint
while you are recording or editing your test.


Note: You cannot insert an XML checkpoint from the Active Screen.


To create an XML test object checkpoint:-
1 Choose Insert > Checkpoint > XML Checkpoint (From Resource), or click the
Insert Checkpoint or Output Value toolbar button and select XML
Checkpoint (From Resource).
The XML Source Selection - Checkpoint Properties dialog box opens.
2 Select Create new checkpoint for test object and select the test object you
want to check.
You can select an existing WebXML or XMLFile test object type as long as
the actual XML object is currently available (in an open browser or in the
file system, as relevant) or, if you are working with the QuickTest Web
Services Add-in you can select a WebService test object.


Note:- Selecting a WebXML or XMLFile test object is identical to using the
XML Checkpoint (From Application) or Create new checkpoint from file
options, but may be faster than browsing to these objects and can be
inserted while recording or editing. However, to use this option, the XML
source must be available when you select the test object (the Web page must
be open or the file must exist in the same location as when the test object
was defined).


3 If you select a WebService test object, then the Method name box is enabled.
Select the Web service operation whose return values you want to check.


Notes:-The Method name box is available only if the Web Services Add-in is
installed and loaded. The Method name box is enabled only if you select a
WebService test object.
XML Checkpoints on Web service operations compare the expected values
of the checkpoint to the actual values returned from the last native Web
service operation performed on the test object. If a different Web service
operation step is performed prior to the checkpoint, then the checkpoint
will fail.


4 Click OK. The XML Checkpoint Properties dialog box opens.
click OK to add the XML checkpoint.


Understanding the XML Checkpoint Properties Dialog Box
The XML Checkpoint Properties dialog box enables you to choose which
elements, attributes, and/or values to check. You can also add, modify and
delete the elements, attributes, and values in the XML tree.


Add Child                       Adds a child node below the selected node in the tree.
Insert Sibling                 Adds a sibling node at the same level as the selected node
                                    in the tree.
Add Value                     Enables you to assign a constant or parameterized value to
                                    the selected  element.
Delete                            Deletes the selected node. Note that you cannot delete the root node of the checkpoint.

Import XML                   Enables you to browse to an existing XML file and import it.
                                      The new file replaces the selected node and its current sub-tree.
Export XML                   Enables you to save the content of the checkpointtree to an XML file.
                                       Enabled only when the rootnode of the tree is selected.
Edit XML as Text          Opens the Edit XML as Text dialog box, enabling you to modify the
                                       XML text of the selected node and its subnodes in a test editor.
 Clear All                        Clears all element and value nodes in the XML tree as well as all
                                       element  attributes.

XML Tree

The XML tree displays the hierarchical relationship between each element
and value in the XML tree, enabling you to select the specific elements,
attributes and values you want to check.


Checkpoint Options
The checkpoint options area on the bottom right of the XML Checkpoint
Properties dialog box enables you to select the types of checks you want to
perform on selected elements.


Element Checks
The following element checks are available:-


Check number of attributes:- Checks the number of attributes that are attached to the
Element.


Check number of child element occurrences in block:- Displays the number of child elements  associated with the selected parent element. If you select this option, QuickTest verifies  that the number of child elements in your XML tree (with the specified name, if applicable) corresponds to the number that appears in the Check number of child element occurrences in block field. You can specify the child element name for the Number of
child element occurrences check. If you select a child element name, QuickTest verifies that the number of child elements with that name corresponds to the number that you
specify in the Number of child element occurrences in block field. Select Any Child (default) to check the total number of child elements associated with the selected parent element.

Schema Validation


You can use the Activate Schema Validation button to confirm that the XML
in your application or file adheres to the structure defined in a specific XML
schema or schemas. You can validate the structure of the XML you are
checking using one or more external schema files or using schema(s)
embedded within your XML document.

Updating the XML Hierarchy for XML Test Object Operation Checkpoints
(for WebService Test Objects Only)

You can use one of the three methods below to populate the XML tree:
Updating the XML Tree Manually
Importing an XML Tree from a File
Updating the XML Tree Using Update Run Mode

Updating the XML Tree Manually:- You can update the XML tree by adding
elements, attributes, and values manually in the XML Checkpoint Properties
dialog box.


To update the XML tree manually:


1 In the Keyword View, select the checkpoint whose XML tree you want to
update. Click in the Value cell.
2 Click the Checkpoint Properties button or right-click and select Checkpoint
Properties. The XML Checkpoint Properties dialog box opens.
3 Select a node in the XML tree and then click a toolbar button or choose an
option from the right-click menu to:
Add an element at the same level as the selected node
Add an element below the selected node
Add a value to the selected node
Edit the XML text of the selected node
Delete the selected node

Importing an XML Tree from a File:- You can import an XML tree from an
existing file for a specific element in the XML tree hierarchy or for the whole tree.
To import an existing XML tree from a file:
1 In the Keyword View, select the checkpoint whose XML tree you want to
update.
2 Click in the Value cell and then click the Checkpoint Properties button. The
XML Checkpoint Properties dialog box opens.
3 If you want to import an XML hierarchy for the whole XML tree, select the
root node. If you want to import an XML hierarchy for a specific element,
select the element in the XML tree hierarchy.
4 Click the Import XML button. A message warns you that the imported
hierarchy overwrites the selected node and its sub-tree. Click Yes to close the
message.
5 In the Import XML from File dialog box, browse to the required XML file
and click Open. The XML hierarchy is imported from the file.
6 If required, configure a constant or parameterized value for each of the
element and value nodes in the XML tree.

Updating the XML Tree Using Update Run Mode:- QuickTest cannot generate the expected return values of an operation when you insert an XML
checkpoint on a Web service operation, but it can generate this information
after it runs the operation. Therefore, you can run your Web service test in
Update Run mode to automatically populate or update the elements, attributes and values in your XML tree.


To generate a new XML tree based on the current return values of the Web
service operation, ensure that none of the node, attribute, or value check
boxes are selected in the XML checkpoint.
To update an XML tree using Update Run mode:
1 Open a test containing XML Test Object checkpoints for Web service
operations.
2 Click Update Run Mode or choose Automation > Update Run Mode.
3 Click Run or choose Automation > Run. The Update Run dialog box opens.
4 Select Update checkpoint properties and click OK. QuickTest runs the test
and updates the XML hierarchy for each XML checkpoint.
5 If you want to confirm that QuickTest successfully updated your checkpoint,
expand the tree in the Test Results window and select the XML checkpoint.


Understanding the Schema Validation Dialog Box:- The Schema Validation
dialog box enables you to specify an XML schema against which you want
to validate the hierarchy of the XML in your application or file.
The Schema Validation dialog box contains the following options:
Validate against the schema defined in the document. Instructs QuickTest
to use the schema or schemas defined within your XML document to
validate the hierarchy of the XML in your Web page/frame, XML file, or
XML test object.
Validate against the specified schemas specified below. Instructs QuickTest
to use one or more external XML schema files to validate the hierarchy of
your XML. If you select this option, any schemas defined within your XML
document are also checked. (The Validate against the schema defined in the
document is automatically selected and is disabled.)
When you select the Validate against the specified schemas specified below
option, the Add Schema button is enabled. Clicking this button opens the
Add Schema dialog box, in which you can specify the following:
Schema path or URL. Enter the path or URL of your XML schema file.
Alternatively, click the browse button to navigate to the XML schema
you want to use to validate the XML in your Web page/frame, XML file,
or XML test object. You can specify schema files either from your file
system or from Quality Center. For each external file you add, you must
specify its path or URL and namespace.

Schema namespace. (If applicable.) If your schema file has a namespace,
specify it. QuickTest checks that the namespace matches the schema file
as part of the validation process. If the schema file has a namespace and
you do not specify it, or if the namespace you specify is different than
the one specified in the schema file, the validation will fail.
Click OK in the Add Schema dialog box to add the selected schema to the
list in the Schema Validation dialog box. Click the Add Schema button
again if you want to add another schema.


Guidelines for Schema Validation
Following are specific guidelines to consider when specifying a schema file
to validate your XML.
If you are validating an XML file using a schema defined in the XML file, the
schema can be defined with an absolute or relative path.
If you are validating an XML document located on the Web with a schema
file located on your file system, you cannot use UNC format (for example,
\\ComputerName\Path\To\Schema) to specify the schema file location.
Instead, map the schema file location to a network drive.
If there is a schema with a namespace defined in your XML document, the
namespace of the external schema must be identical to the one defined in
your document. Using an external XML schema file to validate an XML
document may cause an unexpected result if the XML document has an
XML schema declaration, and the namespace in the external schema file
and the schema defined in the document are not identical.
When you perform a schema validation, QuickTest validates all of the
elements in the XML document, even if certain XML elements are not
associated with a schema file. Any XML elements that are not associated
with a schema file will cause the schema validation to fail.


Understanding the Add Schema Dialog Box


The Add Schema dialog box enables you to specify the path or URL of an
external schema file and its namespace. If there is a schema with a
namespace defined in your XML document, the namespace of the external
schema must be identical to the one defined in your document.


Understanding the Edit Schema Dialog Box


The Edit Schema dialog box displays the path and namespace of the schema
file you selected in the list. You can modify the path or URL of the selected
schema file, and its namespace.


Modifying XML Checkpoints


You can change the expected data and settings of an existing XML
checkpoint.
To modify an XML checkpoint:
1 In the Keyword View or the Expert View, right-click the XML checkpoint
that you want to modify and select Checkpoint Properties. Alternatively,
select the step containing the XML checkpoint and choose Edit > Step
Properties > Checkpoint Properties. The XML Checkpoint Properties dialog
box opens.
2 Modify the settings as described in the previous sections.


Reviewing XML Checkpoint Results


By adding XML checkpoints to your tests, you can verify that the data and
structure in your XML documents, XML files, or XML test objects have not
changed unexpectedly. When you run your test, QuickTest compares the
expected results of the checkpoint to the actual results of the run session. If
the results do not match, the checkpoint fails.
You can view summary results of the XML checkpoint in the Test Results
window. You can view detailed results by opening the XML Checkpoint
Results window.

How to Save your test using QTP?


Select File > Save or click the Save button. The Save dialog box opens to the Tests folder.
Create a folder which you want to save to, select it, and click Open.
Type your test name in the File name field.
Confirm that Save Active Screen files is selected.
Click Save. Your test name is displayed in the title bar of the main QuickTest window.

How to Run a Test using QTP?


1 Start QuickTest and open your test.

If QuickTest is not already open, choose Start > Programs > QuickTest Professional > QuickTest Professional.

. If the Welcome window opens, click Open Existing.
. If QuickTest opens without displaying the Welcome window, choose File > Open or click the Open button.
In the Open Test dialog box, locate and select your test, then click Open.

2 Confirm that all images are saved to the test results.
QuickTest allows you to determine when to save images to the test results.

Choose Tools > Options and select the Run tab. In the Save step screen capture to test results option, select Always.

Click OK to close the Options dialog box.

3 Start running your test.

Click Run or choose Test > Run. The Run dialog box opens.
Select New run results folder. Accept the default results folder name.
Click OK to close the Run dialog box.

How to open a new test using QTP?
1. If QuickTest is not currently open, choose Start > Programs > QuickTest Professional > QuickTest Professional. If the Welcome window opens, click Blank Test. Otherwise, choose File > New, or click the New button. A blank test opens. 2. . If QuickTest is already open, check which add-ins are loaded by selecting Help > About QuickTest Professional. If the Web Add-in is not loaded, you must exit and restart QuickTest. When the Add-in Manager opens, select the Web Add-in, and clear all other add-ins. Choose File > New, or click the New button. A blank test opens.

How to do Laod testing for web based Application?
1. Recording a scenerio in QTP of my web based application.
2. Make 100 copies of that scenerio and run the test (scenerio run for 100 times)
3. In that case, do the load of application on server.
4. The basic logic of running the copy 100 times is to create same scenerio as if 100 users were working.

What is the extension of script and object repository files?
Object Repository : .tsr , Script : .mts, Excel : Default.xls

How to supress warnings from the "Test results page"?
From the Test results Viewer "Tools > Filters > Warnings"...must be "Unchecked".

When we try to use test run option "Run from Step", the browser is not launching automatically why?
This is default behaviour.
What's Checkpoints for QTP?
A checkpoint verifies that expected information is displayed in your application while the test is running.

QuickTest Professional offers the following types of checkpoints:
Checkpoint Type
Description
Example of Use
Standard Checkpoint
Checks values of an object’s properties.
Check that a radio button is selected.
Image Checkpoint
Checks the property values of an image.
Check that the image source file is correct.
Table Checkpoint
Checks information in a table.
Check that the value in a table cell is correct.
Page Checkpoint
Checks the characteristics of a Web page.
Check how long a Web page takes to load or if a Web page contains broken links.
Text / Text Area Checkpoint
Checks that a text string is displayed in the appropriate place in a Web page or application window.
Check whether the expected text string is displayed in the expected locatio
Bitmap Checkpoint
Checks an area of a Web page or application after capturing it as a bitmap
Check that a Web page (or any portion of it) is displayed as expected.
Database Checkpoint
Checks the contents of databases accessed by an application or Web site
Check that the value in a database query is correct.
Accessibility Checkpoint
Identifies areas of a Web site to check for Section 508 compliancy.
Check if the images on a Web page include ALT properties, required by the W3C Web Content Accessibility Guidelines.
XML Checkpoint
Checks the data content of XML documents.
Note: XML file checkpoints are used to check a specified XML file; XML application checkpoints are used to check an XML document within a Web page.

How to add a standard checkpoint in your test ?


1. Start QuickTest and open your test.
In the Open Test dialog box, locate and select your test, then click Open.

2. Save the test as Checkpoint.
Select File > Save As. Save the test as Checkpoint.

3. Confirm that the Active Screen option is enabled.
If you do not see the Active Screen at the bottom of the QuickTest window, click the Active Screen button, or choose View > Active Screen.

4. Locate the page where you want to add a standard checkpoint.

5 Create a standard checkpoint.
In the Active Screen, right-click element in your application and choose Insert Standard Checkpoint.

6 Save the test.

How to add a page checkpoint to your test?
The page checkpoint checks that the number of links and images in the page when you run your test is the same as when you recorded your test.
1 Locate the page where you want to add a page checkpoint.
2 Create a page checkpoint.
Right-click anywhere in the Active Screen, and choose Insert Standard Checkpoint. The Object Selection - Checkpoint Properties dialog box opens. Note that this dialog box may include different elements, depending on where you click in the Active Screen.
3 Save the test.
(Continued on next part...)
How Does Run time data (Parameterization) is handled in QTP?
You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.

What is keyword view and Expert view in QTP?
QuickTest’s Keyword Driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View. Advanced testers can view and edit their tests in the Expert View, which reveals the underlying industry-standard VBScript that QuickTest Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.

How QTP recognizes Objects in AUT?
QuickTest stores the definitions for application objects in a file called the Object Repository. As you record your test, QuickTest will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by QuickTest), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the QuickTest script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.

What are the types of Object Repositorys in QTP?
QuickTest has two types of object repositories for storing object information: shared object repositories and action object repositories. You can choose which type of object repository you want to use as the default type for new tests, and you can change the default as necessary for each new test. The object repository per-action mode is the default setting. In this mode, QuickTest automatically creates an object repository file for each action in your test so that you can create and run tests without creating, choosing, or modifying object repository files. However, if you do modify values in an action object repository, your changes do not have any effect on other actions. Therefore, if the same test object exists in more than one action and you modify an object's property values in one action, you may need to make the same change in every action (and any test) containing the object.

If I give some thousand tests to execute in 2 days what do u do?
Adhoc testing is done. It Covers the least basic functionalities to verify that the system is working fine.
(Continued on next part...)
Does QTP is "Unicode" compatible?
QTP 6.5 is not but QTP 8.0 is expected to be Unicode compatabile by end of December 2004.

How to "Turn Off" QTP results after running a Script?
Goto "Tools > Options > Run Tab" and Deselect "View results when run session ends". But this supresses only the result window, but a og will be created and can viewed manulaly which cannot be restricted from getting created.

Explain about the Test Fusion Report of QTP ?
Once a tester has run a test, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with QuickTest Professional, you can share reports across an entire QA and development team.

To which environments does QTP supports ?
QuickTest Professional supports functional testing of all enterprise environments, including Windows, Web, ..NET, Java/J2EE, SAP, Siebel, Oracle, PeopleSoft, Visual Basic, ActiveX, mainframe terminal emulators, and Web services.

What's QuickTest Window?
Before you begin creating tests, you should familiarize yourself with the main QuickTest window.
The QuickTest window contains the following key elements:
. Title bar—Displays the name of the currently open test.
. Menu bar—Displays menus of QuickTest commands.
. File toolbar—Contains buttons to assist you in managing your test.
. Testing toolbar—Contains buttons to assist you in the testing process.
. Debug toolbar—Contains buttons to assist you in debugging tests.
. Test pane—Contains the Keyword View and Expert View tabs.
. Active Screen—Provides a snapshot of your application as it appeared when you performed a certain step during the recording session.
. Data Table—Assists you in parameterizing your test.
. Debug Viewer pane—Assists you in debugging your test. The Debug Viewer pane contains the Watch Expressions, Variables, and Command tabs. (The Debug Viewer pane is not displayed when you open QuickTest for the first time. You can display the Debug Viewer by choosing View < Debug Viewer.)
. Status bar—Displays the status of the QuickTest application.

How does QTP identifes the object in the application
QTP identifies the object in the application by LogicalName and Class.
For example :
The Edit box is identified by
Logical Name : PSOPTIONS_BSE_TIME20
Class: WebEdit

If an application name is changes frequently i.e while recording it has name “Window1” and then while running its “Windows2” in this case how does QTP handles?
QTP handles those situations using “Regular Expressions..
(Continued on next part...)
Table and DB Checkpoints:
By adding table checkpoints to your tests or components, you can check that a specified value is displayed in a cell in a table on your application. By adding database checkpoints to your tests or components, you can check the contents of databases accessed by your application. The results displayed for table and database checkpoints are similar. When you run your test or component, QuickTest compares the expected results of the checkpoint to the actual results of the run session. If the results do not match, the checkpoint fails. You can check that a specified value is displayed in a cell in a table by adding a table checkpoint to your test or component. For ActiveX tables, you can also check the properties of the table object. To add a table checkpoint, you use the Checkpoint Properties dialog box. Table checkpoints are supported for Web and ActiveX applications, as well as for a variety of external add-in environments. You can use database checkpoints in your test or component to check databases accessed by your Web site or application and to detect defects. You define a query on your database, and then you create a database checkpoint that checks the results of the query. Database checkpoints are supported for all environments supported by QuickTest, by default, as well as for a variety of external add-in environments.

There are two ways to define a database query:
(a) Use Microsoft Query. You can install Microsoft Query from the custom installation of Microsoft Office.
(b) Manually define an SQL statement.
The Checkpoint timeout option is available only when creating a table checkpoint. It is not available when creating a database checkpoint

Checking Bitmaps:
You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. QuickTest captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk space.
When you run the test or component, QuickTest compares the object or selected area of the object currently displayed on the Web page or application with the bitmap stored when the test or component was recorded. If there are differences, QuickTest captures a bitmap of the actual object and displays it with the expected bitmap in the details portion of the Test Results window. By comparing the two bitmaps (expected and actual), you can identify the nature of the discrepancy. For more information on test results of a checkpoint, see Viewing Checkpoint Results.
For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly.
You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded). Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.

Text/Text Area Checkpoint :
In the Text/Text Area Checkpoint Properties dialog box, you can specify the text to be checked as well as which text is displayed before and after the checked text. These configuration options are particularly helpful when the text string you want to check appears several times or when it could change in a predictable way during run sessions.
Note: In Windows-based environments, if there is more than one line of text selected, the Checkpoint Summary pane displays [complex value] instead of the selected text string. You can then click Configure to view and manipulate the actual selected text for the checkpoint.
QuickTest automatically displays the Checked Text in red and the text before and after the Checked Text in blue. For text area checkpoints, only the text string captured from the defined area is displayed (Text Before and Text After are not displayed). To designate parts of the captured string as Checked Text and other parts as Text Before and Text After, click the Configure button. The Configure Text Selection dialog box opens

Checking XML :
XML (Extensible Markup Language) is a meta-markup language for text documents that is endorsed as a standard by the W3C. XML makes the complex data structures portable between different computer environments/operating systems and programming languages, facilitating the sharing of data.
XML files contain text with simple tags that describe the data within an XML document. These tags describe the data content, but not the presentation of the data. Applications that display an XML document or file use either Cascading Style Sheets (CSS) or XSL Formatting Objects (XSL-FO) to present the data.
You can verify the data content of XML files by inserting XML checkpoints. A few common uses of XML checkpoints are described below:
An XML file can be a static data file that is accessed in order to retrieve commonly used data for which a quick response time is needed—for example, country names, zip codes, or area codes. Although this data can change over time, it is normally quite static. You can use an XML file checkpoint to validate that the data has not changed from one application release to another.
An XML file can consist of elements with attributes and values (character data). There is a parent and child relationship between the elements, and elements can have attributes associated with them. If any part of this structure (including data) changes, your application's ability to process the XML file may be affected. Using an XML checkpoint, you can check the content of an element to make sure that its tags, attributes, and values have not changed.
XML files are often an intermediary that retrieves dynamically changing data from one system. The data is then accessed by another system using Document Type Definitions (DTD), enabling the accessing system to read and display the information in the file. You can use an XML checkpoint and parameterize the captured data values in order to check an XML document or file whose data changes in a predictable way.
XML documents and files often need a well-defined structure in order to be portable across platforms and development systems. One way to accomplish this is by developing an XML schema, which describes the structure of the XML elements and data types. You can use schema validation to check that each item of content in an XML file adheres to the schema description of the element in which the content is to be placed.

What are the Features & Benefits of Quick Test Pro(QTP)..?
1. Key word driven testing
2. Suitable for both client server and web based application
3. Vb script as the scriot language
4. Better error handling mechanism
5. Excellent data driven testing features
What are the Features & Benefits of Quick Test Pro (QTP 8.0)?
Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury Quality Center. Introduces next-generation zero-configuration Keyword Driven testing technology in Quick Test Professional 8.0 allowing for fast test creation, easier maintenance, and more powerful data-driving capability. Identifies objects with Unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended script execution. Collapses test documentation and test creation to a single step with Auto-documentation technology. Enables thorough validation of applications through a full complement of checkpoints.

How to handle the exceptions using recovery secnario manager in Qtp?
You can instruct QTP to recover unexpected events or errors that occured in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps
1. Triggered Events
2. Recovery steps
3. Post Recovery Test-Run

what is the use of Text output value in Qtp?
Output values enable to view the values that the application talkes during run time.When paramaterised, the values change for each iteration.Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.

What information do the columns in the Keyword View show for each step?
As you recorded your test, QuickTest generated steps in the Keyword View representing each operation you performed in the Web browser.
The columns in the Keyword View show different information for each step, as follows:

. Item—Displays the item for the step (test object, utility object, function call, or statement) in a hierarchical icon-based tree.
. Operation—The operation to be performed on the item, for example, Click or Select.
. Value—The argument values for the selected operation, for example, the mouse button to use when clicking the image.
. Assignment—The assignment of a value to or from a variable so you can use the value later in the test.
. Comment—Any textual information you want to add regarding the step, for example, Return to page used in first step of the test.
. Documentation—Auto-documentation of what the step does, in an easy-to-understand sentence, for example, Click the “findFlights” image.

Why use Regular Expressions?
you created a text checkpoint that searched for a specific text string. You can use regular expressions to increase the flexibility and adaptability of your tests.
Regular expressions enable QuickTest to identify objects and text strings with varying values. You can use regular expressions when defining the properties of an object, the methods of an argument, when parameterizing a step, and when creating checkpoints with varying values.

Explain QTP Testing process ?
The QuickTest testing process consists of 6 main phases:

1. Create your test plan
Prior to automating there should be a detailed description of the test including the exact steps to follow, data to be input, and all items to be verified by the test. The verification information should include both data validations and existence or state verifications of objects in the application.

2. Recording a session on your application
As you navigate through your application, QuickTest graphically displays each step you perform in the form of a collapsible icon-based test tree. A step is any user action that causes or makes a change in your site, such as clicking a link or image, or entering data in a form.

2. Enhancing your test
o Inserting checkpoints into your test lets you search for a specific value of a page, object or text string, which helps you identify whether or not your application is functioning correctly.
NOTE: Checkpoints can be added to a test as you record it or after the fact via the Active Screen. It is much easier and faster to add the checkpoints during the recording process.
o Broadening the scope of your test by replacing fixed values with parameters lets you check how your application performs the same operations with multiple sets of data.
o Adding logic and conditional statements to your test enables you to add sophisticated checks to your test.

3. Debugging your test
If changes were made to the script, you need to debug it to check that it operates smoothly and without interruption.

4. Running your test on a new version of your application
You run a test to check the behavior of your application. While running, QuickTest connects to your application and performs each step in your test.

5. Analyzing the test results
You examine the test results to pinpoint defects in your application.

6. Reporting defects
As you encounter failures in the application when analyzing test results, you will create defect reports in Defect Reporting Tool.

What is Parameterizing Tests?
When you test your application, you may want to check how it performs the same operations with multiple sets of data. For example, suppose you want to check how your application responds to ten separate sets of data. You could record ten separate tests, each with its own set of data. Alternatively, you can create a parameterized test that runs ten times: each time the test runs, it uses a different set of data.

What is test object model in QTP ?
The test object model is a large set of object types or classes that QuickTest uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that QuickTest can record for it.

A test object is an object that QuickTest creates in the test or component to represent the actual object in your application. QuickTest stores information about the object that will help it identify and check the object during the run session.
A run-time object is the actual object in your Web site or application on which methods are performed during the run session.
When you perform an operation on your application while recording, QuickTest:

? identifies the QuickTest test object class that represents the object on which you performed the operation and creates the appropriate test object
? reads the current value of the object’s properties in your application and stores the list of properties and values with the test object
? chooses a unique name for the object, generally using the value of one of its prominent properties
? records the operation that you performed on the object using the appropriate QuickTest test object method
For example, suppose you click on a Find button with the following HTML source code:

<INPUT TYPE="submit" NAME="Find" VALUE="Find">

QuickTest identifies the object that you clicked as a WebButton test object. It creates a WebButton object with the name Find, and records the following properties and values for the Find WebButton:
It also records that you performed a Click method on the WebButton.
QuickTest displays your step in the Keyword View like this:
QuickTest displays your step in the Expert View like this:
Browser("Mercury Interactive").Page("Mercury Interactive").
WebButton("Find").

How to analyzing Test Results using QTP?
When QuickTest finishes running the test, the Test Results window opens.
Initially, the Test Results window contains two panes for displaying the key elements of your test run.
. The left pane displays the results tree, an icon-based view of the steps that were performed while the test was running. The results tree is organized according to the Web pages visited during the test run and can be expanded (+) to view each step. The steps performed during the test run are represented by icons in the tree. You can instruct QuickTest to run a test or action more than once using different sets of data in each run. Each test run is called an iteration, and each iteration is numbered. (The test you ran had only one iteration.)
. The right pane displays the test results details. The iteration summary table indicates which iterations passed and which failed. The status summary table indicates the number of checkpoints or reports that passed, failed, and raised warnings during the test.
1 View the test results for a specific step.
In the results tree, expand (+) Test Recording Summary > Recording Iteration 1 (Row 1) > Action1 Summary > your application > your test name .
The Test Results window now contains three panes, displaying:
. the results tree, with one step highlighted
. the test results details of the highlighted step
. the Active Screen, showing a screen capture of the Web page on which the step was performed.

When you click a page in the results tree, QuickTest displays the corresponding page in the application view. When you click a step (an operation performed on an object) in the results tree, the corresponding object is highlighted in the application view. In this case, the Departing From text box is highlighted.

Explain the check points in QTP?
A checkpoint verifies that expected information is displayed in a Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP.

• A page checkpoint checks the characteristics of a Application
• A text checkpoint checks that a text string is displayed in the appropriate place on a Application.
• An object checkpoint (Standard) checks the values of an object on a Application.
• An image checkpoint checks the values of an image on a Application.
• A table checkpoint checks information within a table on a Application
• An Accessiblity checkpoint checks the web page for Section 508 compliance.
• An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application.
• A database checkpoint checks the contents of databases accessed by your web site

In how many ways we can add check points to an application using QTP.
We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).

Explain in brief about the QTP Automation Object Model.
Essentially all configuration and run functionality provided via the QuickTest interface is in some way represented in the QuickTest automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in QuickTest have a corresponding automation object, most options in dialog boxes can be set and/or retrieved using the corresponding object property, and most menu commands and other operations have corresponding automation methods. You can use the objects, methods, and properties exposed by the QuickTest automation object model, along with standard programming elements such as loops and conditional statements to design your program.

Discuss QTP Environment.
QuickTest Pro environment using the graphical interface and ActiveScreen technologies - A testing process for creating test scripts, relating manual test requirements to automated verification features - Data driving to use several sets of data using one test script.

Explain the concept of how QTP identifies object.
During recording qtp looks at the object and stores it as test object.For each test object QT learns a set of default properties called mandatory properties,and look at the rest of the objects to check whether this properties are enough to uniquely identify the object. During test run,QT searches for the run time obkects that matches with the test object it learned while recording.

Object Repositories types, Which & when to use?
Deciding Which Object Repository Mode to Choose
To choose the default object repository mode and the appropriate object repository mode for each test, you need to understand the differences between the two modes.
In general, the object repository per-action mode is easiest to use when you are creating simple record and run tests, especially under the following conditions:

You have only one, or very few, tests that correspond to a given application, interface, or set of objects.
You do not expect to frequently modify test object properties.
You generally create single-action tests.
Conversely, the shared object repository mode is generally the preferred mode when:

You have several tests that test elements of the same application, interface, or set of objects.
You expect the object properties in your application to change from time to time and/or you regularly need to update or modify test object properties.
You often work with multi-action tests and regularly use the Insert Copy of Action and Insert Call to Action options.

Can we Script any test case with out having Object repository? or Using Object Repository is a must?
No. U can script with out Object repository by knowing the Window Handlers, spying and recognizing the objects logical names and properties available.

How to execute a WinRunner Script in QTP?
(a) TSLTest.RunTest TestPath, TestSet [, Parameters ] --> Used in QTP 6.0 used for backward compatibility Parameters : The test set within Quality Center, in which test runs are stored. Note that this argument is relevant only when working with a test in a Quality Center project. When the test is not saved in Quality Center, this parameter is ignored.
e.g : TSLTest.RunTest "D:\test1", ""
(b)TSLTest.RunTestEx TestPath, RunMinimized, CloseApp [, Parameters ] TSLTest.RunTestEx "C:\WinRunner\Tests\basic_flight", TRUE, FALSE, "MyValue" CloseApp : Indicates whether to close the WinRunner application when the WinRunner test run ends. Parameters : Up to 15 WinRunner function argument

Why divide a test into three action calls?
When you create a new test, it contains a call to one action. By dividing your tests into calls to multiple actions, you can design more modular and efficient tests.

How To clear the AutoComplete?
1 In your Internet Explorer’s menu bar, choose Tools > Internet Options > Content tab.
2 Click AutoComplete in the Personal information area. The AutoComplete Settings dialog box opens.
3 In the Use AutoComplete for area, clear the User names and passwords on forms option.
4 Click OK to save your changes and close the AutoComplete Settings dialog box, then click OK again to close the Internet Options dialog box.

What is Object Spy in QTP?
Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object’s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.
(Continued on next part...)
What is the Diff between Image check-point and Bit map Check point?
Image checkpoints enable you to check the properties of a Web image. You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. QuickTest captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk Space For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly.
You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded).
Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.

How many ways we can parameterize data in QTP ?
There are four types of parameters:
Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test.
Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, QuickTest uses a different value from the Data Table.
Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that QuickTest generates for you based on conditions and options you choose.
Random number parameters enable you to insert random numbers as values in your test or component. For example, to check how your application handles small and large ticket orders, you can have QuickTest generate a random number and insert it in a number of tickets edit field.

How do u do batch testing in WR & is it possible to do in QTP, if so explain?
Batch Testing in WR is nothing but running the whole test set by selecting "Run Testset" from the "Execution Grid".The same is possible with QTP also. If our test cases are automated then by selecting "Run Testset" all the test scripts can be executed. In this process the Scripts get executed one by one by keeping all the remaining scripts in "Waiting" mode.

How to use the Object spy in QTP 8.0 version?
There are two ways to Spy the objects in QTP
1) Thru file toolbar
---In the File ToolBar click on the last toolbar button (an icon showing a person with hat). 2) Tru Object repository Dialog
---In Objectrepository dialog click on the button"object spy..."

In the Object spy Dialog click on the button showing hand symbol. the pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object if at all the object is not visible..or window is minimised then Hold the Ctrl button and activate the required window to and release the Ctrl button.

What is the file extension of the code file & object repository file in QTP?
File extension of
-- Per test object rep :- filename.mtr
-- Shared Oject rep :- filename.tsr
Code file extension id script.mts

How to Creating an Output Value using QTP?
1 Start QuickTest and open the Parameter test.
2 Save the test as Output.
3 Confirm that the Active Screen option is enabled.
4 Select the text you want to use as an output value.
5 Set the output value settings.
6 Modify the table checkpoint.
7 Save the test.

What does it mean when a check point is in red color? what do u do?
A red color indicates failure. Here we analyze the the cause for failure whether it is a Script Issue or Envronment Issue or a Application issue.

What do you call the window testdirector-testlab?
"Execution Grid". It is place from where we Run all Manual / Automated Scripts

How do u create new test sets in TD
Login to TD.
Click on "Test Lab" tab.
Select the Desired folder under which we need to Create the Test Set. ( Test Sets can be grouped as per module.) Click on "New Test Set or Ctrl+N" Icon to create a Test Set.

Explain the concept of object repository & how QTP recognises objects?
Object Repository: displays a tree of all objects in the current component or in the current action or entire test( depending on the object repository mode you selected). we can view or modify the test object description of any test object in the repository or to add new objects to the repository. Quicktest learns the default property values and determines in which test object class it fits.If it is not enough it adds assistive properties, one by one to the description until it has compiled the unique description.If no assistive properties are available, then it adds a special Ordianl identifier such as objects location onthe page or in the source code.

What are the properties you would use for identifying a browser & page when using descriptive programming ?
"name" would be another property apart from "title" that we can use. OR We can also use the property "micClass". ex: Browser("micClass:=browser").page("micClass:=page")....

I want to open a Notepad window without recording a test and I do not want to use SystemUtil.Run command as well How do I do this?
U can still make the notepad open without using the record or System utility script, just by mentioning the path of the notepad "( i.e., where the notepad.exe is stored in the system) in the "Windows Applications Tab" of the "Record and Run Settings window. Try it out. All the Best.

If an application name is changes frequently i.e while recording it has name, in this case how does QTP handles?
If an application name is changes frequently i.e while recording it has name ?Window1? and then while running its ?Windows2? in this case how does QTP handles? QTP handles those situations using ?Regular Expressions?. ...

How does QTP identifies the object in the application?
How does QTP identifies the object in the application? QTP identifies the object in the application by LogicalName and Class. For example: The Edit box is identified by Logical Name : PSOPTIONS_BSE_TIME20 Class: WebEdit ...

IF we use batch testing.the result shown for last action only.in that how can i get result for every action.
You can click on the icon in the tree view to view the result of every action
(Continued on next part...)
How to Import data from a ".xls" file to Data table during Runtime.
Datatable.Import "...XLS file name..."
DataTable.ImportSheet(FileName, SheetSource, SheetDest)
DataTable.ImportSheet "C:\name.xls" ,1 ,"name"

How to export data present in Datatable to an ".xls" file?
DataTable.Export "....xls file name..."

Syntact for how to call one script from another? and Syntax to call one "Action" in another?
RunAction ActionName, [IterationMode , IterationRange , Parameters]
Here the actions becomes reusable on making this call to any Action.
IterationRange String Not always required. Indicates the rows for which action iterations will be performed. Valid only when the IterationMode is rngIterations. Enter the row range (i.e. "1-7"), or enter rngAll to run iterations on all rows.
If the action called by the RunAction statement includes an ExitAction statement, the RunAction statement can return the value of the ExitAction's RetVal argument.

How to export QTP results to an ".xls" file?
By default it creates an "XML" file and displays the results

How the exception handling can be done using QTP
It can be done Using the Recovery Scenario Manager which provides a wizard that gudies you through the process of defining a recovery scenario. FYI.. The wizard could be accesed in QTP> Tools-> Recovery Scenario Manager .......

How many types of Actions are there in QTP?
There are three kinds of actions:
non-reusable action—an action that can be called only in the test with which it is stored, and can be called only once. reusable action—an action that can be called multiple times by the test with which it is stored (the local test) as well as by other tests.
external action—a reusable action stored with another test. External actions are read-only in the calling test, but you can choose to use a local, editable copy of the Data Table information for the external action.

Analyzing the Checpoint results
Standard Checpoint :By adding standard checkpoints to your tests or components, you can compare the expected values of object properties to the object's current values during a run session. If the results do not match, the checkpoint fails.
(Continued on next part...)
How to handle Run-time errors?
On Error Resume Next : causes execution to continue with the statement immediately following the statement that caused the run-time error, or with the statement immediately following the most recent call out of the procedure containing the On Error Resume Next statement. This allows execution to continue despite a run-time error. You can then build the error-handling routine inline within the procedure.
Using "Err" object msgbox "Error no: " & " " & Err.Number & " " & Err.description & " " & Err.Source & Err.HelpContext

What are the different scripting languages you could use when working with QTP ?
Visual Basic (VB),XML,JavaScript,Java,HTML

How to handle dynamic objects in QTP?
QTP has a unique feature called Smart Object Identification/recognition. QTP generally identifies an object by matching its test object and run time object properties. QTP may fail to recognise the dynamic objects whose properties change during run time. Hence it has an option of enabling Smart Identification, wherein it can identify the objects even if their properties changes during run time. Check this out-
If QuickTest is unable to find any object that matches the recorded object description, or if it finds more than one object that fits the description, then QuickTest ignores the recorded description, and uses the Smart Identification mechanism to try to identify the object. While the Smart Identification mechanism is more complex, it is more flexible, and thus, if configured logically, a Smart Identification definition can probably help QuickTest identify an object, if it is present, even when the recorded description fails.

The Smart Identification mechanism uses two types of properties:
Base filter properties—The most fundamental properties of a particular test object class; those whose values cannot be changed without changing the essence of the original object. For example, if a Web link's tag was changed from to any other value, you could no longer call it the same object. Optional filter properties—Other properties that can help identify objects of a particular class as they are unlikely to change on a regular basis, but which can be ignored if they are no longer applicable.

Explain the keyword createobject with an example.
Creates and returns a reference to an Automation object
syntax: CreateObject(servername.typename [, location])
Arguments
servername:Required. The name of the application providing the object.
typename : Required. The type or class of the object to create.
location : Optional. The name of the network server where the object is to be created.

What is a Run-Time Data Table? Where can I find and view this table?
-In QTP, there is data table used , which is used at runtime.
-In QTP, select the option View->Data tabke.
-This is basically an excel file, which is stored in the folder of the test created, its name is Default.xls by default.

How to do the scripting. Is there any inbuilt functions in QTP as in QTP-S. Whatz the difference between them? how to handle script issues?
Yes, there's an in-built functionality called "Step Generator" in Insert->Step->Step Generator -F7, which will generate the scripts as u enter the appropriate steps.

What is the difference between check point and output value.
An outPut value is a value captured during the test run and entered in the run-time but to a specified location. EX:-Location in Data Table[Global sheet / local sheet]

Types of properties that Quick Test learns while recording?
(a) Mandatory (b) Assistive . In addition to recording the mandatory and assistive properties specified in the Object Identification dialog box, QuickTest can also record a backup ordinal identifier for each test object. The ordinal identifier assigns the object a numerical value that indicates its order relative to other objects with an otherwise identical description (objects that have the same values for all properties specified in the mandatory and assistive property lists). This ordered value enables QuickTest to create a unique description when the mandatory and assistive properties are not sufficient to do so.

Differences between QTP & Winrunner?
(a) QTP is object bases Scripting ( VBS) where Winrunner is TSL (C based) Scripting.
(b) QTP supports ".NET" application Automation not available in Winrunner
(c) QTP has "Active Screen" support which captures the application, not available in WR.
(d) QTP has "Data Table" to store script values , variables which WR does not have.
(e) Using a “point and click” capability you can easily interface with objects, their definitions and create checkpoints after having recorded a script – without having to navigate back to that location in your application like you have to with WinRunner. This greatly speeds up script development.

Few basic questions on commonly used Excel VBA functions.
common functions are:
Coloring the cell
Auto fit cell
setting navigation from link in one cell to other saving

How does Parameterization and Data-Driving relate to each other in QTP?
To datadrive we have to parameterize.i.e. we have to make the constant value as parameter, so that in each iteraration(cycle) it takes a value that is supplied in run-time datatable. Through parameterization only we can drive a transaction(action) with different sets of data. You know running the script with the same set of data several times is not suggestable, & it's also of no use.

What is the difference between Call to Action and Copy Action.?
Call to Action : The changes made in Call to Action , will be reflected in the orginal action( from where the script is called).But where as in Copy Action , the changes made in the script ,will not effect the original script(Action)

How to verify the Cursor focus of a certain field?
Use "focus" property of "GetRoProperty" method"

Any limitation to XML Checkpoints?
Mercury has determined that 1.4MB is the maximum size of a XML file that QTP 6.5 can handle

How to make arguments optional in a function?
this is not possible as default VBS doesn't support this. Instead you can pass a blank scring and have a default value if arguments r not required.
(Continued on next part...)
How to add a text checkpoint to your test to check whether 'welcome' is displayed in your welcome page.
1 Locate the page where you want to add a text checkpoint.

2 Create a text checkpoint.
In the Active Screen, under your page highlight the text welcome. Right-click the highlighted text and choose Insert Text Checkpoint. The Text Checkpoint Properties dialog box opens.
When Checked Text appears in the list box, the Constant field displays the text string you highlighted. This is the text QuickTest looks for when running the test.
Click OK to accept the default settings in this dialog box.
QuickTest adds the text checkpoint to your test. It is displayed in the Keyword View as a checkpoint operation on your welcome page

3 Save the test.

How to Running and Analyzing a Test with Checkpoints?
1 Expand the test and review your test.
Choose View > Expand All or use the * shortcut key on your number keypad.

2 Start running your test.
Click Run or choose Test > Run. The Run dialog box opens. Ensure that New run results folder is selected. Accept the default results folder name. Click OK. When the test run is completed, the Test Results window opens.

3 View the test results.
When QuickTest finishes running the test, the Test Results window opens. The test result should be Passed, indicating that all checkpoints passed. If one or more checkpoints had failed, the test result would be Failed.

4 View the results of the page checkpoint.
In the Details pane, you can review the details of the page checkpoint, which lists the items checked.

5 View the results of the table checkpoint.
In the Details pane, you can review the details of the table checkpoint. You can also review the values of the table cells (cell values that were checked are displayed in black; cell values that were not checked are displayed in gray).

6 View the results of the standard checkpoint.
In the Details pane, you can review the details of the standard checkpoint, which lists the properties that were checked and their values. The checkpoint passed because the actual values of the checked properties match the expected values.

7 View the results of the text checkpoint.
In the Details pane, you can review the details of the text checkpoint. The checkpoint passed because the actual text matches the expected text.

8 Close the Test Results window. Choose File > Exit.

How to Defining a Data Table Parameter for QTP?
1 Start QuickTest and open the Checkpoint test.
2 Save the test as Parameter.
3 Confirm that the Active Screen option is enabled.
4 Confirm that the Data Table option is enabled.
5 Select the text to parameterize.
6 Set the parameterization properties.

How to add a runtime parameter to a datasheet?
DataTable.LocalSheet
The following example uses the LocalSheet property to return the local sheet of the run-time Data Table in order to add a parameter (column) to it.
MyParam=DataTable.LocalSheet.AddParameter("Time", "5:45")
(Continued on next part...)
How to change the run-time value of a property for an object?
SetTOProperty changes the property values used to identify an object during the test run. Only properties that are included in the test object description can be set

How to retrieve the property of an object?
using "GetRoProperty".

How to open any application during Scripting?
SystemUtil , object used to open and close applications and processes during a run session.
(a) A SystemUtil.Run statement is automatically added to your test when you run an application from the Start menu or the Run dialog box while recording a test
E.g : SystemUtil.Run "Notepad.exe" SystemUtil.CloseDescendentProcesses ( Closes all the processes opened by QTP )

How to covert a String to an integer?
CInt()---> a conversion function available.

Inserting a Call to Action is not Importing all columns in Datatable of globalsheet. Why?
Inserting a call to action will only Import the columns of the Action called

Differentiate the two Object Repository Types of QTP.
Object repository is used to store all the objects in the application being tested.2 types of oject repositoy per action and shared. In shared repository only one centralised repository for all the tests. where as in per action.for each test a separate per action repostory is created.

What the differences are and best practical application of each.
Per Action: For Each Action, one Object Repository is created. Shared : One Object Repository is used by entire application

Explain what the difference between Shared Repository and Per_Action Repository
Shared Repository: Entire application uses one Object Repository , that similar to Global GUI Map file in WinRunner Per Action: For each Action ,one Object Repository is created, like GUI map file per test in WinRunner

Have you ever written a compiled module? If yes tell me about some of the functions that you wrote.
I Used the functions for Capturing the dynamic data during runtime. Function used for Capturing Desktop, browser and pages.

What projects have you used WinRunner on? Tell me about some of the challenges that arose and how you handled them.
pbs :WR fails to identify the object in gui. If there is a non std window obk wr cannot recognize it ,we use GUI SPY for that to handle such situation.

Can you do more than just capture and playback?
I have done Dynamically capturing the objects during runtime in which no recording, no playback and no use of repository is done AT ALL.
-It was done by the windows scripting using the DOM(Document Object Model) of the windows.

Summary: QuickTest Pro


Summary:


QuickTest Professional provides an interactive, visual environment for test development.
Here is the description from the Mercury Interactive “How it Works” section of the QuickTest Pro web page:
Mercury QuickTest Professional™ allows even novice testers to be productive in minutes. You can create a test script by simply pressing a Record button and using an application to perform a typical business process. Each step in the business process is automated documented with a plain-English sentence and screen shot. Users can easily modify, remove, or rearrange test steps in the Keyword View.

QuickTest Professional can automatically introduce checkpoints to verify application properties and functionality, for example to validate output or check link validity. For each step in the Keyword View, there is an ActiveScreen showing exactly how the application under test looked at that step. You can also add several types of checkpoints for any object to verify that components behave as expected, simply by clicking on that object in the ActiveScreen.

You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.

Advanced testers can view and edit their test scripts in the Expert View, which reveals the underlying industry-standard VBScript that QuickTest Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.

Once a tester has run a script, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test script specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with Mercury Quality Management, you can share reports across an entire QA and development team.

QuickTest Professional also facilitates the update process. As an application under test changes, such as when a “Login” button is renamed “Sign In,” you can make one update to the Shared Object Repository, and the update will propagate to all scripts that reference this object. You can publish test scripts to Mercury Quality Management, enabling other QA team members to reuse your test scripts, eliminating duplicative work.

QuickTest Professional supports functional testing of all popular environments, including Windows, Web, .Net, Visual Basic, ActiveX, Java, SAP, Siebel, Oracle, PeopleSoft, terminal emulators, and Web services.

- QuickTest Pro “How it Works” webpage from Mercury:
http://www.mercury.com/us/products/quality-center/functional-testing/quicktest-professional/works.html

We like QuickTest Pro and now prefer implementing it over WinRunner. When you get into advance testing scenarios, QuickTest Pro has more options and they are easier to implement compared to WinRunner in our opinion.

Do to the similarities in concept and features, an experienced WinRunner user can easily convert to QuickTest Pro and quickly become an efficient Test Automation Engineer!

We recommend that existing customers begin all new development with QuickTest Pro and use the built-in feature of calling WinRunner scripts from QuickTest Pro for all existing WinRunner scripts that they already have. As older scripts require updates and time permits, we recommend replacing them with QuickTest Pro scripts. Eventually you will be able to convert your test script library with all QuickTest Pro scripts.
Pros:
* Will be getting the initial focus on development of all new features and supported technologies.
* Ease of use.
* Simple interface.
* Presents the test case as a business workflow to the tester (simpler to understand).
* Numerous features.
* Uses a real programming language (Microsoft’s VBScript) with numerous resources available.
* QuickTest Pro is significantly easier for a non-technical person to adapt to and create working test cases, compared to WinRunner.
* Data table integration better and easier to use than WinRunner.
* Test Run Iterations/Data driving a test is easier and better implement with QuickTest.
* Parameterization easier than WinRunner.
* Can enhance existing QuickTest scripts without the “Application Under Test” being available; by using the ActiveScreen.
* Can create and implement the Microsoft Object Model (Outlook objects, ADO objects, FileSystem objects, supports DOM, WSH, etc.).
* Better object identification mechanism.
* Numerous existing functions available for implementation – both from within QuickTest Pro and VBScript.
* QTP supports .NET development environment (currently WinRunner 7.5 does not).
* XML support (currently WinRunner 7.5 does not).
* The Test Report is more robust in QuickTest compared to WinRunner.
* Integrates with TestDirector and WinRunner (can kick off WinRunner scripts from QuickTest).
Cons:
* Currently there are fewer resources (consultants and expertise) available due to QTP being a newer product on the market and because there is a greater Demand than Supply, thus fewer employee/consulting resources.
* Must know VBScript in order to program at all.
* Must be able to program in VBScript in order to implement the real advance testing tasks and to handle very dynamic situations.
* Need training to implement properly.
* The Object Repository (OR) and “testing environment” (paths, folders, function libraries, OR) can be difficult to understand and implement initially.



Explain the terms “TEST” and “ Business Component”
Test—A collection of steps organized into one or more actions, which are used to verify that your application performs as expected. By default each test begins with a single action. Business Component—A collection of steps representing a single task in your application. Business components (also known as components) are combined into specific scenarios to build business process tests in Mercury Quality Center with Business Process Testing. A component does not contain actions, you add steps directly to a componenet.

What is check point?
A checkpoint checks specific values or characteristics of a page, object, or text string and enables you to identify whether or not your Web site or application is functioning correctly. A checkpoint compares the value of an element captured in your test when you recorded your test, with the value of the same element captured during the test run.

What do you mean by iteration ?
Each run session that uses a different set of parameterized data is called an iteration.

What is output value?
An output value is a value retrieved during the run session and entered into your Data Table or saved as a variable or a parameter. Each run session that uses a different set of parameterized data is called an iteration.

How many Add-ins comes by default with QTP?
There are 3 Add-ins comes with QTP: (1) ActiveX (2) Visual Basic (3) Web

What are the views available in QTP?
(1) Keyword View (2) Expert View

What is Active Screen?
The Active Screen provides a snapshot of your application as it appeared when you performed a certain step during a recording session.

What are the key elements of a QTP window?
The QuickTest window contains the following key elements: ? QuickTest title bar—Displays the name of the currently open test or component. ? Menu bar—Displays menus of QuickTest commands. ? File toolbar—Contains buttons to assist you in managing your test or component. ? Testing toolbar—Contains buttons to assist you in the testing process. ? Debug toolbar—Contains buttons to assist you in debugging your test or component (not displayed by default). ? Action toolbar—Contains buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. ? Test pane—Contains the Keyword View and Expert View tabs. ? Active Screen—Provides a snapshot of your application as it appeared when you performed a certain step during the recording session. ? Data Table—Assists you in parameterizing your test or component. For a test, the Data Table contains the Global tab and a tab for each action. For a component, the Data Table contains single tab. ? Debug Viewer pane—Assists you in debugging your test or component. The Debug Viewer pane contains the Watch Expressions, Variables, and Command tabs (not displayed by default). ? Status bar—Displays the status of the QuickTest application.

How many tabs are available in Debug Viewer Pane?
The Debug Viewer pane contains three tabs to assist you in debugging your test or component—Watch Expressions, Variables, and Command. Watch Expressions The Watch Expressions tab enables you to view the current value of any variable or other VBScript expression. Variables The Variables tab enables you to view the current value of all variables that have been recognized up to the last step performed in the run session. Command The Command tab enables you to execute a line of script in order to set or modify the current value of a variable or VBScript object in your test or component. When you continue the run session, QuickTest uses the new value that was set in the command.

How many toolbars QTP has?
QuickTest has 4 built-in toolbars: 1. The File toolbar 2. The Testing toolbar 3. The Debug toolbar 4. Action toolbar The Action toolbar is available in the Keyword View and contains options that enable you to view all actions in the test flow or to view the details of a selected action. The Action toolbar is not available for components.

Explain the terms Password Encoder, Remote Agent, Test Batch Runner, Test Results Deletion tool?
Password Encoder—enables you to encode passwords. You can use the resulting strings as method arguments or Data Table parameter values. Remote Agent—determines how QuickTest behaves when a test or component is run by a remote application such as Quality Center. Test Batch Runner—enables you to set up QuickTest to run several tests in succession. Test Results Deletion Tool—enables you to delete unwanted or obsolete results from your system according to specific criteria that you define.

Explain the terms Test Object Model, Test Object & Run-Time object?
The test object model is a large set of object types or classes that QuickTest uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that QuickTest can record for it. A test object is an object that QuickTest creates in the test or component to represent the actual object in your application. QuickTest stores information about the object that will help it identify and check the object during the run session. A run-time object is the actual object in your Web site or application on which methods are performed during the run session.

What are assistive properties or an ordinal identifier?
When mandatory property values are not sufficient to uniquely identify the object within its parent object, QuickTest adds some assistive properties and/or an ordinal identifier to create a unique description. Note: You can retrieve or modify property values of the test object during the run session by adding GetTOProperty and SetTOProperty statements in the Keyword View or Expert View. You can retrieve property values of the runtime object during the run session by adding GetROProperty statements. If the available test object methods or properties for an object do not provide the functionality you need, you can access the internal methods and properties of any run-time object using the Object property. You can also use the attribute object property to identify Web objects in your application according to user-defined properties.

What is object Repository ?Explain different types of Object Repositories?
QuickTest identifies objects in your application based on a set of test object properties. It stores the object data it learns in the object repository. You can save your objects either in a shared object repository or in action object repository. In shared object repository mode, you can use one object repository file for multiple tests or components. In object repository peraction mode, QuickTest automatically creates an object repository file for each action in your test. Object repository per-action mode is not available for components.

How you can enhance your test?
There are variety of options to enhance your test: (1) You can add checkpoints to your test. A checkpoint is a step in your test that compares the values of the specified property during a test run with the values stored for the same test object property within the test. This enables you to identify whether or not your Web site or application is functioning correctly. (2) You can parameterize your test to replace fixed values with values from an external source during your test run. The values can come from a Data Table, environment variables you define, or values that QuickTest generates during the test run. (3)You can retrieve values from your test and store them in the Data Table as output values. You can subsequently use these values as an input parameter in your test. This enables you to use data retrieved during a test in other parts of the test. (4) You can divide your test into actions to streamline the testing process of your Web site or application. (5)You can use special QuickTest options to enhance your test with programming statements. The Step Generator guides you step-by-step through the process of adding recordable and non-recordable methods to your test. You can also synchronize your test to ensure that your application is ready for QuickTest to perform the next step in your test, and you can measure the amount of time it takes for your application to perform steps in a test by defining and measuring transactions. (6)You can also manually enter standard VBScript statements, as well as statements using QuickTest test objects and methods, in the Expert View.

Explain different recording modes ?
QuickTest’s normal recording mode records the objects in your application and the operations performed on them. This mode is the default and takes full advantage of QuickTest’s test object model, recognizing the objects in your application regardless of their location on the screen. Analog Recording - enables you to record the exact mouse and keyboard operations you perform in relation to either the screen or the application window. In this recording mode, QuickTest records and tracks every movement of the mouse as you drag the mouse around a screen or window. This mode is useful for recording operations that cannot be recorded at the level of an object, for example, recording a signature produced by dragging the mouse. Note: You cannot edit analog recording steps from within QuickTest. ? Low-Level Recording - enables you to record on any object in your application, whether or not QuickTest recognizes the specific object or the specific operation. This mode records at the object level and records all run-time objects as Window or WinObject test objects. Use low-level recording for recording tests in an environment or on an object not recognized by QuickTest. You can also use low-level recording if the exact coordinates of the object are important for your test. Note: Steps recorded using low-level mode may not run correctly on all objects.

Explain different types of checkpoints?
There are 10 types of checkpoints you can insert: Standard Checkpoint checks the property value of an object in your application or Web page. The standard checkpoint checks a variety of objects such as buttons, radio buttons, combo boxes, lists, etc. Image Checkpoint checks the value of an image in your application or Web page. For example, you can check that a selected image’s source file is correct. Bitmap Checkpoint checks an area of your Web page or application as a bitmap. Table Checkpoint checks information within a table. For example, suppose your application or Web site contains a table listing all available flights from New York to San Francisco. You can add a table checkpoint to check that the time of the first flight in the table is correct. Text Checkpoint checks that a text string is displayed in the appropriate place in your application or on a Web page. Text Area Checkpoint checks that a text string is displayed within a defined area in a Windows application, according to specified criteria. Accessibility Checkpoint identifies areas of your Web site that may not conform to the World Wide Web Consortium (W3C) Web Content Accessibility Guidelines. Page Checkpoint checks the characteristics of a Web page. For example, you can check how long a Web page takes to load or whether a Web page contains broken links. Database Checkpoint checks the contents of a database accessed by your application. XML Checkpoint checks the data content of XML documents in XML files or XML documents in Web pages and frames.

What is parameter?
A parameter is a variable that is assigned a value from an external data source or generator. If you wish to parameterize the same value in several steps in your test or component, you may want to consider using the Data Driver rather than adding parameters manually.

How many types of parameters are there?
There are four types of parameters: 1. Test, action or component parameters 2. Data Table parameters 3. Environment variable parameters 4. Random number parameters Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test.0 Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, QuickTest uses a different value from the Data Table. Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that QuickTest generates for you based on conditions and options you choose. Random number parameters enable you to insert random numbers as values in your test or component.

How Does Run time data (Parameterization) is handled in QTP?
You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.

Explain about the Test Fusion Report of QTP ?
Once a tester has run a test, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with QuickTest Professional, you can share reports across an entire QA and development team.

How QTP recognizes Objects in AUT?
QuickTest stores the definitions for application objects in a file called the Object Repository. As you record your test, QuickTest will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by QuickTest), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the QuickTest script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.

In how many ways we can add check points to an application using QTP.
We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).

What is the file extension of the code file & object repository file in QTP?
(1)For code file the extension is .vbs (2)For object repository file the extension is .tsr File extension for per action is (.mtr)

How to Merge Object repositories?
With QTP 8.2 ,there is QTP Plus setup.It provides Repositories Merge Utility.The Object Repository Merge Utility enables user to merge Object repository files into a single Object repository file.

What are the different scripting languages you could use when working with QTP ?
Visual Basic (VB), XML, JavaScript, Java, HTML

Can you do more than just capture and playback?
I have done Dynamically capturing the objects during runtime in which no recording, no playback and no use of repository is done AT ALL. -It was done by the windows scripting using the DOM(Document Object Model) of the windows.

How many types of Actions are there in QTP?
There are three kinds of actions: (1)non-reusable action—an action that can be called only in the test with which it is stored, and can be called only once. (2)reusable action—an action that can be called multiple times by the test with which it is stored (the local test) as well as by other tests. (3)external action—a reusable action stored with another test. External actions are read-only in the calling test, but you can choose to use a local, editable copy of the Data Table information for the external action

How can we write scripts without having GUI(means u dont have any GUI and u want to write a script in QTP)?
By descriptive programming

What is the descrirptive progrmaing?.what is the use of descriptive programing?
QTP uses its object repository to refer to objects present in your test and which have been recorded, if you wish to use objects that were not recorded and are not present in your object repository then we use descriptive programming, where QTP does not refer to object repository but the property name and value are mentioned in the code itself for QTP to use it for e.g this is not Desc. prog. Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username") This is desc prog. Browser("Title:=Mercury Tours").Page("Title:=Mercury Tours").WebEdit("Name:=Author", "Index:=3").Set "Mark Twain"

Explain the need to use analog recording in qtp?
This mode records exact mouse and Key Board operations you perform in relation to the screen /Application Window. This mode is useful for the operation which you can record at Object Level, such as drawing a picture, recording signature. The steps recorded using Analog Mode is saved in separated data file, Quick Tests add to your Test a Run Analog File statement that calls the recorded analog File. This file is stored with your action in which these Analog Steps are created. The Step recorded in Analog mode can not be edited within QT.

Descriptive programming in QTP
Whenever QTP records any action on any object of an application, it adds some description on how to recognize that object to a repository of objects called object repository. QTP cannot take action on an object until unless its object description is in the Object Repository. But descriptive programming provides a way to perform action on objects which are not in Object repository

Object Identification:
To identify an object during the play back of the scripts QTP stores some properties which helps QTP to uniquely identify the object on a page. Below screen shots shows an example Object repository:

Now to recognize a radio button on a page QTP had added 2 properties the name of the radio button and the html tag for it. The name the left tree view is the logical name given by QTP for the object. This can be changed as per the convenience of the person writing the test case. QTP only allows UNIQUE logical name under same level of hierarchy. As we see in the snapshot the two objects in Browser->Page node are “WebTable” and “testPath”, they cannot have the same logical name. But an object under some other node can have the same name. Now with the current repository that we have, we can only write operation on objects which are in the repository. Some of the example operations are given below

Browser("Browser").Page("Page").WebRadioGroup ("testPath").Select "2"
cellData = Browser("Browser").Page("Page").WebTable ("WebTable").GetCellData (1,1)
Browser("Example2").Page("Page").WebEdit("testPath").Set "Test text"

When and Why to use Descriptive programming?
Below are some of the situations when Descriptive Programming can be considered useful:
The objects in the application are dynamic in nature and need special handling to identify the object. The best example would be of clicking a link which changes according to the user of the application, Ex. “Logout <<UserName>>”.
When object repository is getting huge due to the no. of objects being added. If the size of Object repository increases too much then it decreases the performance of QTP while recognizing a object.
When you don’t want to use object repository at all. Well the first question would be why not Object repository? Consider the following scenario which would help understand why not Object repository

Scenario 1: Suppose we have a web application that has not been developed yet. Now QTP for recording the script and adding the objects to repository needs the application to be up, that would mean waiting for the application to be deployed before we can start of with making QTP scripts. But if we know the descriptions of the objects that will be created then we can still start off with the script writing for testing

Scenario 2: Suppose an application has 3 navigation buttons on each and every page. Let the buttons be “Cancel”, “Back” and “Next”. Now recording action on these buttons would add 3 objects per page in the repository. For a 10 page flow this would mean 30 objects which could have been represented just by using 3 objects. So instead of adding these 30 objects to the repository we can just write 3 descriptions for the object and use it on any page.

Modification to a test case is needed but the Object repository for the same is Read only or in shared mode i.e. changes may affect other scripts as well.

When you want to take action on similar type of object i.e. suppose we have 20 textboxes on the page and there names are in the form txt_1, txt_2, txt_3 and so on. Now adding all 20 the Object repository would not be a good programming approach.

How to use Descriptive programming?
There are two ways in which descriptive programming can be used
By creating properties collection object for the description.
By giving the description in form of the string arguments.

By creating properties collection object for the description.

To use this method you need first to create an empty description

Dim obj_Desc ‘Not necessary to declare
Set obj_Desc = Description.Create

Now we have a blank description in “obj_Desc”. Each description has 3 properties “Name”, “Value” and “Regular Expression”.

obj_Desc(“html tag”).value= “INPUT”

When you use a property name for the first time the property is added to the collection and when you use it again the property is modified. By default each property that is defined is a regular expression. Suppose if we have the following description

obj_Desc(“html tag”).value= “INPUT
” obj_Desc(“name”).value= “txt.*”

This would mean an object with html tag as INPUT and name starting with txt. Now actually that “.*” was considered as regular expression. So, if you want the property “name” not to be recognized as a regular expression then you need to set the “regularexpression” property as FALSE

obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt.*”
obj_Desc(“name”).regularexpression= “txt.*”

This is how of we create a description. Now below is the way we can use it

Browser(“Browser”).Page(“Page”).WebEdit(obj_Desc).set “Test”

When we say .WebEdit(obj_Desc) we define one more property for our description that was not earlier defined that is it’s a text box (because QTPs WebEdit boxes map to text boxes in a web page).

If we know that we have more than 1 element with same description on the page then we must define “index” property for the that description

Consider the HTML code given below

<INPUT type=”textbox” name=”txt_Name”>
<INPUT type=”textbox” name=”txt_Name”>

Now the html code has two objects with same description. So distinguish between these 2 objects we will use the “index” property. Here is the description for both the object

For 1st textbox:
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name
” obj_Desc(“index”).value= “0”

For 2nd textbox:
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name”
obj_Desc(“index”).value= “1”

Consider the HTML Code given below:

<INPUT type=”textbox” name=”txt_Name”>
<INPUT type=”radio” name=”txt_Name”>

We can use the same description for both the objects and still distinguish between both of them
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name”

When I want to refer to the textbox then I will use the inside a WebEdit object and to refer to the radio button I will use the description object with the WebRadioGroup object.

Browser(“Browser”).Page(“Page”).WebEdit(obj_Desc).set “Test” ‘Refers to the text box
Browser(“Browser”).Page(“Page”).WebRadioGroup(obj_Desc).set “Test” ‘Refers to the radio button

But if we use WebElement object for the description then we must define the “index” property because for a webelement the current description would return two objects.

Hierarchy of test description:
When using programmatic descriptions from a specific point within a test object hierarchy, you must continue to use programmatic descriptions from that point onward within the same statement. If you specify a test object by its object repository name after other objects in the hierarchy have been described using programmatic descriptions, QuickTest cannot identify the object.

For example, you can use Browser(Desc1).Page(Desc1).Link(desc3), since it uses programmatic descriptions throughout the entire test object hierarchy. You can also use Browser("Index").Page(Desc1).Link(desc3), since it uses programmatic descriptions from a certain point in the description (starting from the Page object description).

However, you cannot use Browser(Desc1).Page(Desc1).Link("Example1"), since it uses programmatic descriptions for the Browser and Page objects but then attempts to use an object repository name for the Link test object (QuickTest tries to locate the Link object based on its name, but cannot locate it in the repository because the parent objects were specified using programmatic descriptions).

Getting Child Object:
We can use description object to get all the objects on the page that matches that specific description. Suppose we have to check all the checkboxes present on a web page. So we will first create an object description for a checkboxe and then get all the checkboxes from the page

Dim obj_ChkDesc

Set obj_ChkDesc=Description.Create
obj_ChkDesc(“html tag”).value = “INPUT”
obj_ChkDesc(“type”).value = “checkbox”

Dim allCheckboxes, singleCheckBox

Set allCheckboxes = Browse(“Browser”).Page(“Page”).ChildObjects(obj_ChkDesc)

For each singleCheckBox in allCheckboxes

singleCheckBox.Set “ON”

Next
The above code will check all the check boxes present on the page. To get all the child objects we need to specify an object description i.e. we can’t use the string arguments that will be discussed later in the 2nd way of using the programming description.

Possible Operation on Description Object

Consider the below code for all the solutions
Dim obj_ChkDesc

Set obj_ChkDesc=Description.Create
obj_ChkDesc(“html tag”).value = “INPUT”
obj_ChkDesc(“type”).value = “checkbox”

How to get the no. of description defined in a collection
obj_ChkDesc.Count ‘Will return 2 in our case

How to remove a description from the collection
obj_ChkDesc.remove “html tag” ‘would delete the html tag property from the collection

How do I check if property exists or not in the collection?
The answer is that it’s not possible. Because whenever we try to access a property which is not defined its automatically added to the collection. The only way to determine is to check its value that is use a if statement “if obj_ChkDesc(“html tag”).value = empty then”.

How to browse through all the properties of a properties collection?
Two ways
          1st:
                    For each desc in obj_ChkDesc
                               Name=desc.Name
                               Value=desc.Value
                               RE = desc.regularexpression
                    Next
          2nd:
                    For i=0 to obj_ChkDesc.count - 1
                               Name= obj_ChkDesc(i).Name
                               Value= obj_ChkDesc(i).Value
                               RE = obj_ChkDesc(i).regularexpression
                    Next


By giving the description in form of the string arguments.
You can describe an object directly in a statement by specifying property:=value pairs describing the object instead of specifying an object’s name. The general syntax is:

TestObject("PropertyName1:=PropertyValue1", "..." , "PropertyNameX:=PropertyValueX")

TestObject—the test object class could be WebEdit, WebRadioGroup etc….

PropertyName:=PropertyValue—the test object property and its value. Each property:=value pair should be separated by commas and quotation marks. Note that you can enter a variable name as the property value if you want to find an object based on property values you retrieve during a run session.

Consider the HTML Code given below:

<INPUT type=”textbox” name=”txt_Name”>
<INPUT type=”radio” name=”txt_Name”>

Now to refer to the textbox the statement would be as given below

Browser(“Browser”).Page(“Page”).WebEdit(“Name:=txt_Name”,”html tag:=INPUT”).set “Test”

And to refer to the radio button the statement would be as given below

Browser(“Browser”).Page(“Page”).WebRadioGroup(“Name:=txt_Name”,”html tag:=INPUT”).set “Test”

If we refer to them as a web element then we will have to distinguish between the 2 using the index property

Browser(“Browser”).Page(“Page”).WebElement(“Name:=txt_Name”,”html tag:=INPUT”,”Index:=0”).set “Test” ‘ Refers to the textbox Browser(“Browser”).Page(“Page”).WebElement(“Name:=txt_Name”,”html tag:=INPUT”,”Index:=1”).set “Test” ‘ Refers to the radio button

QuickTest Professional (QTP) 8.2 Tips and Tricks (1)

Data Table
Two Types of data tables
Global data sheet: Accessible to all the actions
Local data sheet: Accessible to the associated action only

Usage:
DataTable("Column Name",dtGlobalSheet) for Global data sheet
DataTable("Column Name",dtLocalSheet) for Local data sheet

If we change any thing in the Data Table at Run-Time the data is changed only in the run-time data table. The run-time data table is accessible only through then test result. The run-time data table can also be exported using DataTable.Export or DataTable.ExportSheet

How can I save the changes to my DataTable in the test itself?
Well QTP does not allow anything for saving the run time changes to the actual data sheet. The only work around is to share the

spreadsheet and then access it using the Excel COM Api's.

How can I check if a parameter exists in DataTable or not?
The best way would be to use the below code:
code:
on error resume next
val=DataTable("ParamName",dtGlobalSheet)
if err.number<> 0 then
'Parameter does not exist
else
'Parameter exists
end if

How can I make some rows colored in the data table?
Well you can't do it normally but you can use Excel COM API's do the same. Below code will explain some expects of Excel COM APIs

code:
Set xlApp=Createobject("Excel.Application")
set xlWorkBook=xlApp.workbooks.add
set xlWorkSheet=xlWorkbook.worksheet.add
xlWorkSheet.Range("A1:B10").interior.colorindex = 34 'Change the color of the cells
xlWorkSheet.Range("A1:A10").value="text" 'Will set values of all 10 rows to "text"
xlWorkSheet.Cells(1,1).value="Text" 'Will set the value of first row and first col


rowsCount=xlWorkSheet.Evaluate("COUNTA(A:A)") 'Will count the # of rows which have non blank value in the column A
colsCount=xlWorkSheet.Evaluate("COUNTA(1:1)") 'Will count the # of non blank columns in 1st row

xlWorkbook.SaveAs "C:\Test.xls"
xlWorkBook.Close
Set xlWorkSheet=Nothing
Set xlWorkBook=Nothing
set xlApp=Nothing

SMART Identification
Smart Identification is nothing but an algorithm used by QTP when it is not able to recognize one of the object. A very generic example as per the QTP manual would be, A photograph of a 8 year old girl and boy and QTP records identification properties of that girl when she was 8, now when both are 10 years old then QTP would not be able to recognize the girl. But there is something that is still the same, that is there is only one girl in the photograph. So it kind of PI (Programmed intelligence) not AI.

When should I use SMART Identification?
Something that people don't think about too much. But the thing is that you should disable SI while creating your test cases. So that you are able to recognize the objects that are dynamic or inconsistent in their properties. When the script has been created, the SI should be enabled,so that the script does not fail in case of small changes. But the developer of the script should always check for the test results to verify if the SI feature was used to identify a object or not. Sometimes SI needs to be disabled for particular objects in the OR, this is advisable when you use

SetTOProperty to change any of the TO properties of an object and especially ordinal identifiers like index, location and creationtime.

Descriptive Programming
Descriptive programming is nothing but a technique using which operations can be performed on the AUT object which are not present in the OR. For more details refer to http://bondofus.tripod.com/QTP/DP_in_QTP.doc (right click and use save as...)

What is a Recovery Scenario?
Recovery scenario gives you an option to take some action for recovering from a fatal error in the test. The error could range in from occasional to typical errors. Occasional error would be like "Out of paper" popup error while printing something and typical errors would be like "object is disabled" or "object not found". A test case have more then one scenario associated with it and also have the priority or order in which it should be checked.

What does a Recovery Scenario consists of?
Trigger: Trigger is nothing but the cause for initiating the recovery scenario. It could be any popup window, any test error, particular state of an object or any application error. Action: Action defines what needs to be done if scenario has been triggered. It can consist of a mouse/keyboard event, close application, call a recovery function defined in library file or restart windows. You can have a series of all the specified actions.

Post-recovery operation: Basically defined what need to be done after the recovery action has been taken. It could be to repeat the step, move to next step etc....

When to use a Recovery Scenario and when to us on error resume next?
Recovery scenarios are used when you cannot predict at what step the error can occur or when you know that error won't occur in your

QTP script but could occur in the world outside QTP, again the example would be "out of paper", as this error is caused by printer device driver. "On error resume next" should be used when you know if an error is expected and dont want to raise it, you may want to have different actions depending upon the error that occurred. Use err.number & err.description to get more details about the error.

Library Files or VBScript Files
How do we associate a library file with a test ?
Library files are files containing normal VBScript code. The file can contain function, sub procedure, classes etc.... You can also use executefile function to include a file at run-time also. To associate a library file with your script go to Test->Settings... and add your library file to resources tab.

When to associate a library file with a test and when to use execute file?
When we associate a library file with the test, then all the functions within that library are available to all the actions present in the test. But when we use Executefile function to load a library file, then the function are available in the action that called executefile. By associated a library to a test we share variables across action (global variables basically), using association also makes it possible to execute code as soon as the script runs because while loading the script on startup QTP executes all the code on the global scope. We can use executefile in a library file associated with the test to load dynamic files and they will be available to all the actions in the test.

What is the difference between Test Objects and Run Time Objects ?
Test objects are basic and generic objects that QTP recognize. Run time object means the actual object to which a test object maps.

QuickTest Professional (QTP) 8.2 Tips and Tricks (2)

Can I change properties of a test object?
Yes. You can use SetTOProperty to change the test object properties. It is recommended that you switch off the Smart Identification for the object on which you use SetTOProperty function.

Can I change properties of a run time object?
No (but Yes also). You can use GetROProperty("outerText") to get the outerText of a object but there is no function like SetROProperty to change this property. But you can use WebElement().object.outerText="Something" to change the property.

What is the difference between an Action and a function?
Action is a thing specific to QTP while functions are a generic thing which is a feature of VB Scripting. Action can have a object repository associated with it while a function can't. A function is just lines of code with some/none parameters and a single return value while an action can have more than one output parameters.

Where to use function or action?
Well answer depends on the scenario. If you want to use the OR feature then you have to go for Action only. If the functionality is not about any automation script i.e. a function like getting a string between to specific characters, now this is something not specific to QTP and can be done on pure VB Script, so this should be done in a function and not an action. Code specific to QTP can also be put into an function using DP. Decision of using function/action depends on what any one would be comfortable using in a given situation.

What is checkpoint?
Checkpoint is basically a point in the test which validates for truthfulness of a specific things in the AUT. There are different types of checkpoints depending on the type of data that needs to be tested in the AUT. It can be text, image/bitmap, attributes, XML etc....

What's the difference between a checkpoint and output value?
Checkpoint only checks for the specific attribute of an object in AUT while Output value can output those attributes value to a column in data table.

How can I check if a checkpoint passes or not?
code:
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
if chk_PassFail then
MsgBox "Check Point passed"
else
MsgBox "Check Point failed"
end if

My test fails due to checkpoint failing, Can I validate a checkpoint without my test failing due to checpoint failure?
code:
Reporter.Filter = rfDisableAll 'Disables all the reporting stuff
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
Reporter.Filter = rfEnableAll 'Enable all the reporting stuff
if chk_PassFail then
MsgBox "Check Point passed"
else
MsgBox "Check Point failed"
end if

How can I import environment from a file on disk?
Environment.LoadFromFile "C:\Env.xml"

How can I check if a environment variable exist or not?
When we use Environment("Param1").value then QTP expects the environment variable to be already defined. But when we use Environment.value("Param1") then QTP will create a new internal environment variable if it does not exists already. So to be sure that variable exist in the environment try using Environment("Param1").value.

How to connect to a database?
code:
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "DRIVER={Microsoft ODBC for Oracle};UID=;PWD=
"
objRecordset.CursorLocation = adUseClient
objRecordset.CursorType = adopenstatic
objRecordset.LockType = adlockoptimistic
ObjRecordset.Source="select field1,field2 from testTable"
ObjRecordset.ActiveConnection=ObjConnection ObjRecordset.Open 'This will execute your Query
If ObjRecordset.recordcount>0 then
Field1 = ObjRecordset("Field1").Value
Field2 = ObjRecordset("Field2").Value
End if

QuickTest Pro Questions Only (1)
1. how many maximum actions can be performed in a single test
2. How to create the dynamic object repository in QTP?
3. What is difference between global sheet anh action sheet?
4. How to pass parameters from one action to another action.
5. How to perform Cross platform testing and Cross browser testing using QTP?Can u explain giving some exampl
6. how to connect the database through QTP
7. How to open multiple instances of an application from QTP? 2. How to recognize each instance and setting
8. This is the chain of question#: 15434What conditions we go for Reusable Scripts and how we create and
9. Can we call QTP test from another test using scripting.Suppose there are 4 tests and i want to call these
10. Is it possible to test a web application(java) with winrunner?otherwise is it possible to check with
11. How can we insert Text check point and Bit map check point ? if provide example script, it is greatefu
12. Can we mask a Code In .vbs file so that it is not viewable to others?
13. Is there any function to double click a particular row in a webtable?
14. what is the use of command tab in Debug viewer ?can we execute any user defined queries
15. What is Analog recording,What is the difference between analog recording and low level recording
16. what is database check point.
17. What is the use of function and sub function in QTP?
18. What is the new Version of QTP which is recently released in the Market?
19. How to call a funtion present in dll file in QTP Script.
20. I have n iterations of test run in QTP. I want to see the results of not only the latest (‘n’th) iteration
21. How to call from one action to another action in QTP?
22. What is the Difference Between Bit map Check point & Image Check pointPlease explain in detailText &
23. How can we do block commenting in QTP?
24. How to get the column count and column name from resultset in database connction program?
25. 1. How to write QTP scripts?2. Any related website resource to learn QTP?3. What steps the to be follwed
26. How to check an XML schema (XML Schema Validation--from XML file)? Ttell me about .XSD file format.
27. How to schedule tests in QTP?
28. Is Addins enough to work in Flex based applications? or do we have to get a licence for multimedia for
29. how to identify a 'web element' class object while recording and running in 'Event' mode of settings.
30. What are the new features available in QTP 8.2 compared with earlier versions?
31. Hi forum. Could any body tell me what is AMDOCS, and what are its models ? Best regrds.
32. What is difference between window(" ") and dialog(" ") in QTP while creating script?
33. How do you retrieve the Class name of a Test Object programmatically from within a script?
34. What is the best way to test UNIX (QTP, Winrunner or Xrunner)? If QTP supports let me know the brief
35. What is the Recovery Scenerio can apllied for any telephone line connection(Ex:BSNl,Airtel etc
36. what are advantages and disadvantages between internet explorer and netscape navigator (or) Internet
37. Anybody with an experience of testing Mainframe applications. I usually check the ActiveX and VB add-ins
38. Difference Between text and Textarea checkpoints in QTP
39. How to Handle dynamic WebList in QTP...Values in Weblist are different
40. What is the Hotkey that can be used for Hitting spacebar?
41. We are trying to avoid that anybody see our script after we wrote it. Did anybody know how to do this?
42. how can i insert database checkpoint in qtp-6.5
43. What are different execution modes available in QTP & explain them.
44. How can we recognize objects in Flex application using QTP? When I record scripts, it takes all objects
45. For the AS/400 application that takes data only thru the keyboard input and not even single mouse click
46. How to write QTP test results to an Excel application
47. How to write recovery scenario for below questions and what are the steps we will follow?if i click
48. If winrunner and QTP both are functional testing tools from the same company.why a separate tool QTP
49. How do we test Links using Quick Test Professional and confirm that the page we are requesting is seen
50. How do you test DLL files using QTP?
51. After importing external .xls datasheet in to Datatable of QTP, How to set NO of iterations run for
52. How to test Dynamic web pages using QTP
53. How to record Flex (1.0) objects using QTP?Post the code which works for this.
54. Advantage of using Mercury Quality Center over Test Director
55. How do we connect to Oracle database from QTP ?
56. Can any one pls tell me about how to configure the environment variables in qtp and how to use the variables
57. What is the process for creating an automated test script using QTP assuming you have reviewed the manual
58. How to use a data driver in QTP?
59. What is the method used to focus on particuler field.I need the script.I will give example.I flights
60. 1)what is the advantage and disadvantage of using Virtual Object wizard?2) How efficiently we can use
61. Without recording objects in Object Repository are we able to run scripts?
62. Can we call a QTP script from a main script without making it reusable?
63. wat is xml schema validation and how to perform schema validation for a file.wat is *.XSD extention
64. Can any body expalin me the differences between a reusable and a external action with example?
65. I need information on using FSO(file system object) also its significance
66. How to Run a script recorded in English flavor of my application and re-run the same script on different
67. How to write QTP test results to an Excel application, Please provide the exact code if possible ASAPThanks
68. What are the limitations for XML Checkpoints in QTP 8.0?
69. how good is QTP for testing siebel applications?whether QTP recognizes siebel objects or something else
70. How do I use text checkpoint in QTP as everytime I use this checkpoint in the excel sheet and highlight
71. How is automation used in QTP for regreession testing. Please give me a sample script.
72. Anybody explain me, the concept of checkpoint declaration in the QTP mainly for the Objects, Pages, Text
73. How can we validate the PDF file recognization and its content with the help of Mercury product QTP(Quick
74. What is Expert view in QTP?Can you explain with example?
75. What is the best way to do regression testing using QTP.
76. what is the use functions in QTP. public, private
77. How can we return values from userdefined function? anybody provide code with small example its great
78. how to retrive/update database by writing code in expert viewIn my case database is Accessmy dsn name="try"database
79. How can I import and/or merge an existing repository into my current test?
81. Hi,I was set the repository as per test mode and recorded my script. Now I wana to change the repository
82. What are Limitation of QTP?
83. what is difference between stub and driver?
84. What is meant by Source Control?
85. What is descriptive programming?
86. how to automate editing an XML file .because when i record the editing on an XML file and run it,some
87. What are the disadvantages or drawbacks in QTP?
88. 1. Each test that you run is displayed into the screen ... I'm looking for a way to run a test in background
89. I have faced one question in interviewhe has given one screen with one bitmap and one edit box.The original
90. What qt plus ? How we merge the files in qtp?What is feasibility study in automation?
91. when a script is recorded in quick test for connecting 10 rows in the database, can we change script
92. How do you test siebel application using qtp?
93. How to get Traceability matrix from TD?
94. How to import a test case present in ".xls" file to TD under a Test set?
95. How to attach a file to TD?
96. What do you to script when objects are removed from application?
97. How do you data drive an external spreadsheet?
98. Give me an example where you have used a COM interface in your QTP project?
99. How long have you used the product?
100. How to get "FontSize" of a "WebEdit"?
101. Is there anyway to automatically update the Datasource name in Database Checkpoints object when we migrate tests to a new release?
102. How to create a Runtime property for an object?
103. How to handle the exceptions using recovery scenario manager in QTP ?
104. What is the use of Text output value in QTP?
105. Have you ever written a compiled module? If yes tell me about some of the features.
106. I want to open a Notepad window without recording a test and I do not want to use SystemUtil.Run command as well How do I do this?
107. What is the command in QTP to invoke IE Browser?
108. How to execute QTP script from command prompt?
109. How We will count the total number of web Links on a Page?
110. How you will creat a object in VB Script?
111. What is the difference between TSL & VBScript?
112. Write a Script if a button is enable or not?



QuickTest Pro Questions Only (2)
1.List me out the short cut keys for some functionalities in the QTP....for example.......to record......to run....etc
2.What are the challenges do we face while testing webbased applications using the automation tool QTP or any?
3.Do we get any issues if we run the testscript on different browsers?What are the options we need to st in QTP?
4.How we can add actions in the test using QTP?
5.Does QTP provides any tools for parametarization?
6.What are recovery management techniques?
7.How we can merge the object repositories?say if we have two or three object repositories then how we can merge them?is there any option in qtp to merge the object repositories?
8.What is the difference between link and hyperlink?
9.Can some one help me how to compare thevalues from one sheet to values in another sheet?suppose i have a field called temp in action1 and i also have temp in action2. i want to compare the values of those two actions sheets data table? how can i do it using descriptive programming?
10.How to do batch run in qtp? provide the steps?
11.Can we do qtp testing without creating objects in Dbject repository?can we do it completely writing code i.e in expert view only. are there any books for this?
12. In qtp,how to interact tool & application build?
13.Scenario:2 combo boxes.1st combo contains a,b,c,d.2nd combo contains 10..20,20...30,30.40,...selecting 'a' shuld display
10.....20.,'b' shld display 20.......30.......and so on.tell d script? 2.Random testing of 500 test cases in qtp?
14.How to do the batch testing using qtp?
15. What is the use of "function generator " in qtp?
16. What is environment variables?
17. What is the use of virtual object?explain?
18. Difference between wr 8.2? how to integrate with some other tools?
19. What is the function (how to do) the batch testing in test director using manual testing procedure?
20. What is a test strategy & what is the difference between test strategy & test plan?
21. What is descriptive programming when it is useful? & when to use this?
22.How to invoke any recorded script in QTP with out using RECORD & PLAYBACK CONCEPT?
23. If two text boxes are there in a "form". ....>A table contains some records which contains usernames & password....what is the script we need to write using descriptive programming concept....in QTP(simply data driven test script of qtp)?
24. Can we run the scripts of qtp 8.2 in the qtp 7.0?
25. How to capture data from images in qtp and produce them in excel sheet?
26. How to handle recovery scenario in QTP. give detailed explanation about recovery scenario..
27. How we can take data in the username field text box into variable in web application explain with example and give all functions to get data into variables
28. What are the file extensions for pre-action,shared object repository files and what is the extension for library files?
29. What are the most frequent errors you faced while executing your scripts?
30. among all the check points what is the most important check point?
31. How to write script in QTP(vbscript)...i mean with out application deployed...and how to call script1 into script2?
32. How do you handle multiple banners(at the top the page,the banner is scrolling) in a web page(donot take the name property(regular expression))
33. How do you handle XML exceptions in QTP(here it is exception,not the check point)
34. What is iteration? how it is related to test results in QTP
35. Is it possible to map an image as standard object or u've to treat as virtual? how to map an dynamic image into standard object?
36. What is the exact diff between test and component in QTP?
37. Difference between image checkpoint and bitmap checkpoint?
38. What is the descriptive.crate() in QTP?
39. What is TOM in QTP?
40. What is the abbrivation of .mtr in action repository?
41.I am new in QTP, plz tell me any books for QTP,my company is QTP,so i learn QTP
42. Tell about descriptive programming in QTP8.2?
43. Tell about automation object model(Aom) in QTP?
44. How to merge object repositories?
45. What is the command used to start the QTP from run.(start-> run)
46. What does VBS file contain...??what is VBS file?
47. What is unicoad compability?how does this makes a difference from winrunner?
48. What is the exact meaning of environment variables? what is complie module in QTP?what exactly it contains functions or actions?
49. What is compile modulein QTP?what exactly it contains functions or actions?
50. What is the exact meaning of environment variabes?
51. How to watch currnet value of an object like OK button or edit box with "agent nale:" lable. in watch expression tab
52. Which functionalities of QTP used in banking project?
53. I am begineer in QTP and i want to try the software QTP. i checked the mercury site for QTP trial version and i found QTP9.0. the thing is tht it supports windows 2000,Xp but not windows 98. and i am using windows 98 only and its not possible for me to update to windows 2000.guide me to get the tria version of QTP which supports windows 98 operating system.
54. Tell me the QTP advantage and disadvantges?
55. How do you configure QTP and test director?
56. How to get the column count and column name from the result set in the data base connection program?
57. Scalability testing comes under in which tool?
58. What is the difference between rational rose and QTP?which tool is better to learn?
59. How to test the mainframe application?(tell me few basic things)
60. What is throw object?
61. How will you handle the situation when object isnot captured during recors?
62. What kind of errors can be handled in QTP in real time scenario?
63. Can objects recognised without repository?
64. What is smart identification?
65. What is the differece between normal mode and fast moce?
66. In how many ways you perform batchtesting
67. What is API
68.What is the difference between action and script
69.Synchronozation types in QTP
70.Batch testing in howmany ways u perform in QTP
71. Approch for installation,comaptibility,system testing
72.user defined function in QTP
73.How you perform exception handling in QTP,what is other name for this.
74.How you call functions in QTP
75.How you connect bugzilla with QTP
76.How you sre using QTP in ur projrct
77.how you automate testscripts one by one or modukewise or all at once
78.Can we directly automate testscripts according to requirements
79.How you automate test scripts
80.What do you do if QTP doesnt recognize object,what action should be taken
81.After running scripts how you report results, there is any specific report form?
82.In object repository,two actions r there.action1 name is A.tsr, action2 name is B.tsr.is it possible?if yes,what is the output of A+B?if no, why?
83.Anybody explain me,the concept of checkpoint declaration in the QTP mainly for the objects,pages,text and tables?
84.How to use regular expressions in QTP?give an example.
85.Take a situation when you are working with QTP,suddenly systam has crashed. so u again start the system. my que ishow can QTP directly opened when the system desktop appears?
86.Give me descriptive programming code sample flight application in QTP
87.Can you put checkpoints for moving images.
88.how to test background color and dynamic images during runtime
89.Where is the bitmap checkpoint be saved?
90.What happen in object repository(shared) if we call an existing action from an external action? and what happen in object repository(peraction) if we call an existing action from an external action?
91.How can we retrive ten rows from the data table using loop concept?
92.How to convert a string to an integer?
93.How to "turn off" QTP results after running a script?
94.Does QTP is "unicoe" compatible?
95.How to supress warnings from the "test results page"?
96.What is the extension of script and object repository files in QTP?
97.How to open any application during scripting in QTP?
98.How to retrive the property of an object in QTP?
99.How to change the run time values of a property for an object in QTP?
100.How to handle run-time errors?

0 comments:

Post a Comment

Bookmark Us

Delicious Digg Facebook Favorites More Stumbleupon Twitter