Saturday, January 9, 2010

What are Checkpoints in QTP?

What are Checkpoints in QTP?

A checkpoint is a verification point that compares a current value for a specified property with the expected value for that property.

Types of Checkpoints in QTP:

- Standard Checkpoint: Checks the property value of the object in an application or Webpage. It checks buttons,Radiobuttons,Comboboxes etc

- Bitmap checkpoint: Checks the value of an image in the application.

- Text checkpoins: Checks whether the text string is displayed in the appropriate place in your application or on a Web page

- Text Area checkpoint
- Database checkpoint
: Checks the contents of a database accessed by the application

- XML Checkpoint: Checks the data content of XML documents in the application.

Note:
- Before creating checkpoints on web objects we have to select web-test option in ADD-IN Manager.
- If the objects developed in HTML we can use Standard Check point.
- If the Objects developed in XML we can use XML Check point.


How Checkpoints work?

In Checkpoints, we define what should be the state of an object at particular time. e.g.- If I have an application where a particular button gets enabled on some specific operation. I will automate that operation and will apply a checkpoint that Button should be enabled and its value should be 'OK'.... So we apply checkpoint on properties of different types of objects..

Sample Objects that QuickTest can be verified:

Windows:
- Window
- Edit-Field
- Drop-Down List
- Menu command
- Radio Button
- Checkbox
- Windows Object
- Status Bar
- Text Area

WEB:
- Browser
- Text Area
- Text Link
- Images
- Image Link
- Edit Field
- Drop Down List
- checkbox
- Radio Button
- Tables/Grids
- web Elements

Friday, January 8, 2010

What is Synchronization in QTP?

What is Synchronization in QTP?

Synchronization refers to adding a step in the script that instructs Quick Test to wait for a particular object before proceeding to the next step during playback.
   
When do we need SYNCHRONIZATION ?

       When you observe that the application takes a longer time to process information sent or respond to a client request, add a synchronization step while recording. E.g.-:
   
    - A progress bar to reach 100%.
    - A button to become enabled...
   - A window or pop-up message to open.
   
How to Add Synchronization?

    - Synchronization can be added only during recording.
    - Identify the object to be synchronized.
    - Navigate to the window where the object is located.
    - Locate the step in the test that corresponds to the object.
    - Start recording and add the synchronization point.

Two Ways of Setting Synchronization Point?

    1. Global synchronization value for all Objects:

        Instructs Quick Test to wait for all the objects for a specific amount of time.

        MENU > TEST > SETTINGS > RUN > "Object Synchronization Timeout" : For every object in the test, Quick Test can wait a maximum number of milliseconds specified in the settings

     2. Synchronization of a specific Object:

         Instructs Quick Test to wait for a specific object only.

        Menu > Insert > Step > Synchronization Point

Quick Test shall pause the test until the object property achieves the value specified (or until the specific timeout amount is exceeded)...
       
Quick Test uses one of the object’s properties as the waiting criteria. E.g. ‘Text’ property for window, ‘Label’ property for buttons etc...

Thursday, January 7, 2010

What are different recording modes in QTP???

1) Normal recording

It is used for recording the operations perform at different contacts on the standard GUI objects.

2) Analog Recording

It is used for recording the continuous operations.

3) Low-level Recording

It is special recording mode provided by QTP, which is used for recording the minimum operations on the non-Supported environments also.

1.     It will generate the corresponding test script statement for every user action.
2.     It will also store the required related information in the object repository.

Wednesday, January 6, 2010

What is Smart Identification in QTP?

What is Smart Identification in QTP?

When QuickTest uses the learned description to identify an object, it searches for an object that matches all of the property values in the description. In most cases, this description is thesimplest way to identify the object and unless the main properties of the object change this methodwill work.

If QuickTest is unable to find any object that matches the learned object description or if it finds more than one object that fits the description, then QuickTest ignores the learned description and uses the Smart Identification mechanism to try to identify the object.

Smart Identification mechanism is more complex and very flexible. If configured logically a SmartIdentification definition can probably help QuickTest identification of an object if it is present even when the learned description fails.

The Smart Identification mechanism uses two types of properties:

1) Base Filter Properties:

The most fundamental properties of a particular test object class whose values cannot be changed without changing the essence of the original object. For example, if Web link's tag was changed from to any other value, you could no longer call it the same object.

2) Optional Filter Properties:

Other properties that can help identify objects of a particular class. These properties are unlikely to change on a regular basis but can be ignored if they are no longer applicable.

Tuesday, January 5, 2010

What are Ordinal Identifiers in QTP?

What are Ordinal Identifiers in QTP?

If QTP feels that its unable to uniquely identify an object on the basis of Mandatory and Assitive properties then it looks for Ordinal Identifiers.

        # Generally we should not encourage the Ordinal Identifier but when the application is Stable then we may use it.

        # Once the application is stable then only we go for Automation, till such time we do only manual testing.

There are three types of ordinal identifiers that QuickTest can use to identify an object:

1.    Index
2.    LOcation
3.    Creation Time

1. "Index" Indicates the order in which the object appears in the application code relative to other objects with an otherwise identical description.

2. "Location" Indicates the order in which the object appears within the parent window frame/dialog box relative to other objects with an otherwise identical description.

3. "CreationTime" (Browser object only) Indicates the order in which the browser was opened relative to other open browsers with an otherwise identical description