How QTP Identifies Objects

download How QTP Identifies Objects

of 8

Transcript of How QTP Identifies Objects

  • 8/3/2019 How QTP Identifies Objects

    1/8

    How QTP identifies objects?

    Here I am reproducing one of the most important extract from QTP help section. If

    you understand this part be assured you of your success in QTP Job interviews, otherquestion that follow will be of very elementary nature.

    When QuickTest uses the learned description to identify an object, it searches for anobject that matches all of the property values in the description. In most cases, this

    description is the simplest way to identify the object, and, unless the main propertiesof the object change, this method will 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.

    While the Smart Identification mechanism is more complex, it is more flexible.

    Therefore, if configured logically, a Smart Identification definition can probably help

    QuickTest identify an object, if it is present, even when the learned description fails.

    The Smart Identification mechanism uses two types of properties:

    Base Filter PropertiesThe 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 {A} to any othervalue, you could no longer call it the same object.

    Optional Filter PropertiesOther properties that can help identify objects of aparticular class. These properties are unlikely to change on a regular basis, but can beignored if they are no longer applicable.

    Understanding the Smart Identification Process

    If QuickTest activates the Smart Identification mechanism during a run session

    (because it was unable to identify an object based on its learned description), it

    follows the following process to identify the object:

    1. QuickTest "forgets" the learned 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 Properties list.

    2. QuickTest filters out any object in the object candidate list that does not match the

  • 8/3/2019 How QTP Identifies Objects

    2/8

    first property listed in the Optional Filter Properties list. The remaining objectsbecome the new object candidate list.

    3. QuickTest evaluates the new object candidate list:

    o If the new object candidate list still has more than one object, QuickTest uses the

    new (smaller) object candidate list to repeat step 2 for the next optional filter property

    in the list.

    o If the new object candidate list is empty, QuickTest ignores this optional filter

    property, returns to the previous object candidate list, and repeats step 2 for the next

    optional filter property in the list.

    o If the object candidate list contains exactly one object, then QuickTest concludes

    that it has identified the object and performs the statement containing the object.

    4. QuickTest continues the process described in steps 2 and 3 until it either identifiesone object, or runs out of optional filter properties to use.

    If, after completing the Smart Identification elimination process, QuickTest still

    cannot identify the object, then QuickTest uses the learned description plus the

    ordinal identifier to identify the object.

    If the combined learned description and ordinal identifier are not sufficient to identify

    the object, then QuickTest stops the run session and displays a Run Error message.

    Reviewing Smart Identification Information in the Test Results

    If the learned description does not enable QuickTest to identify a specified object in a

    step, and a Smart Identification definition is defined (and enabled) for the object, then

    QuickTest tries to identify the object using the Smart Identification mechanism.

    If QuickTest successfully uses Smart Identification to find an object after no objectmatches the learned description, the Test Results receive a warning status and indicate

    that the Smart Identification mechanism was used.

    If the Smart Identification mechanism cannot successfully identify the object,QuickTest uses the learned description plus the ordinal identifier to identify the

    object. If the object is still not identified, the test or component fails and a normal

    failed step is displayed in the results.

    Walking Through a Smart Identification Example

  • 8/3/2019 How QTP Identifies Objects

    3/8

    The following example walks you through the object identification process for an

    object.

    Suppose you have the following statement in your test or component:

    Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17

    When you created your test or component, QuickTest learned the following objectdescription for the Login image:

    However, at some point after you created your test or component, a second loginbutton (for logging into the VIP section of the Web site) was added to the page, so the

    Web designer changed the original Login button's alt tag to: basic login.

    The default description for Web Image objects (alt, html tag, image type) works for

    most images in your site, but it no longer works for the Login image, because that

    image's alt property no longer matches the learned description. Therefore, when you

    run your test or component, QuickTest is unable to identify the Login button based on

    the learned description. However, QuickTest succeeds in identifying the Login button

    using its Smart Identification definition.

    The explanation below describes the process that QuickTest uses to find the Login

    object using Smart Identification:

    1. According to the Smart Identification definition for Web image objects, QuickTest

    learned the values of the following properties when you recorded the click on the

    Login image:

  • 8/3/2019 How QTP Identifies Objects

    4/8

    2. QuickTest begins the Smart Identification process by identifying the five objects onthe Mercury Tours page that match the base filter properties definition (html tag =

    INPUT and image type = Image Button). QuickTest considers these to be the objectcandidates and begins checking the object candidates against the Optional Filter

    Properties list.

    3. QuickTest checks the alt property of each of the object candidates, but none havethe alt value: Login, so QuickTest ignores this property and moves on to the next one.

    4. QuickTest checks the name property of each of the object candidates, and finds that

    two of the objects (both the basic and VIP Login buttons) have the name: login.

    QuickTest filters out the other three objects from the list, and these two login buttons

    become the new object candidates.

  • 8/3/2019 How QTP Identifies Objects

    5/8

    5. QuickTest checks the file name property of the two remaining object candidates.Only one of them has the file name login.gif, so QuickTest correctly concludes that it

    has found the Login button and clicks it.

    Step-by-Step Instructions for Configuring a Smart Identification Definition

    You use the Smart Identification Properties dialog box, accessible from the ObjectIdentification dialog box, to configure the Smart Identification definition for a test

    object class.

    To configure Smart Identification properties:

    1. Choose Tools > Object Identification. The Object Identification dialog box opens.

    2. Select the appropriate environment in the Environment list. The test object classes

    associated with the selected environment are displayed in the Test object classes list.

    Note: The environments included in the Environment list are those that correspond to

    the loaded add-in environments.

  • 8/3/2019 How QTP Identifies Objects

    6/8

    3. Select the test object class you want to configure.

    4. Click the Configure button next to the Enable Smart Identification check box. The

    Configure button is enabled only when the Enable Smart Identification option isselected. The Smart Identification Properties dialog box opens:

    5. In the Base Filter Properties list, click Add/Remove. The Add/Remove Properties

    dialog box for base filter properties opens.

    6. Select the properties you want to include in the Base Filter Properties list and/or

    clear the properties you want to remove from the list.

    Note: You cannot include the same property in both the base and optional propertylists.

    You can specify a new property by clicking New and specifying a valid property

  • 8/3/2019 How QTP Identifies Objects

    7/8

    name in the displayed dialog box.

    Tip: You can also add property names to the set of available properties for Webobjects using the attribute/ notation. To do this, click New. The New Property dialog

    box opens. Enter a valid property in the format attribute/ and click OK. The new

    property is added to the Base Filter Properties list. For example, to add a property

    called MyColor, enter attribute/MyColor.

    7. Click OK to close the Add/Remove Properties dialog box. The updated set of base

    filter properties is displayed in the Base Filter Properties list.

    8. In the Optional Filter Properties list, click Add/Remove. The Add/Remove

    Properties dialog box for optional filter properties opens.

    9. Select the properties you want to include in the Optional Filter Properties list and/or

    clear the properties you want to remove from the list.

    Note: You cannot include the same property in both the base and optional property

    lists.

    You can specify a new property by clicking New and specifying a valid property

    name in the displayed dialog box.

    Tip: You can also add property names to the set of available properties for Webobjects using the attribute/ notation. To do this, click New. The New Property dialog

    box opens. Enter a valid property in the format attribute/ and click OK. The newproperty is added to the Optional Filter Properties list. For example, to add a property

    called MyColor, enter attribute/MyColor.

  • 8/3/2019 How QTP Identifies Objects

    8/8

    10. Click OK to close the Add/Remove Properties dialog box. The properties are

    displayed in the Optional Filter Properties list.

    11. Use the up and down arrows to set your preferred

    order for the optional filter properties. When QuickTest uses the Smart Identification

    mechanism, it checks the remaining object candidates against the optional propertiesone-by-one according to the order you set in the Optional Filter Properties list until it

    filters the object candidates down to one object.