0% found this document useful (0 votes)
216 views

QTP Descriptive Programming - How To Get Number of Objects: Google Sets

This document explains how to use descriptive programming in QuickTest Professional (QTP) to get the number of objects on a webpage. It describes creating a description object, specifying the "micclass" property to identify object types, and using the description to retrieve a collection of objects from the page. The script gets the counts of edits, buttons, links, and images on the Google Sets page as an example. Descriptive programming allows retrieving and analyzing objects not stored in the object repository at runtime.

Uploaded by

Praveen Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
216 views

QTP Descriptive Programming - How To Get Number of Objects: Google Sets

This document explains how to use descriptive programming in QuickTest Professional (QTP) to get the number of objects on a webpage. It describes creating a description object, specifying the "micclass" property to identify object types, and using the description to retrieve a collection of objects from the page. The script gets the counts of edits, buttons, links, and images on the Google Sets page as an example. Descriptive programming allows retrieving and analyzing objects not stored in the object repository at runtime.

Uploaded by

Praveen Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

QTP Descriptive Programming - How to get number of objects

I'm going to explain and show QTP Descriptive Programming (DP) through Google Sets site:

(click image to enlarge it)

The goal of the present QTP tutorial is to describe:


How to get number of controls (Links, Edits, Images, etc) with QTP DP.

Let's investigate Descriptive Programming on examples.


First of all, we should understand what Descriptive Programming means:
What is QuickTest Professional Descriptive Programming (QTP DP)?

Answer: QTP DP is a run-time processing of objects which are not located in QTP Object
Repository.

I've created new QTP script which starts with http://labs.google.com/sets page.
This QTP script is simple enough:
Set Desc = Description.Create()
Desc("micclass").Value = "WebEdit"
Set Edits = Browser("Google Sets").Page("Google Sets").ChildObjects(Desc)

MsgBox "Number of Edits: " & Edits.Count


And its result is:

As you can see, it works correctly and returns correct number of Edits on a page.
I'm going to explain this QTP script and answer the following question:

How does QTP Descriptive Programming work?

First of all, I've created new Description object:


Set Desc = Description.Create()
Description object contains collection of properties, which identify any UI object such as a
browser, a page, a dialog, a list, a button etc.

To specify that we want identify all Edits on browser's page I use "micclass" property:
Desc("micclass").Value = "WebEdit"
Note: the "mic" prefix in "micclass" stands for "Mercury Interactive Constant".

How do you know the class name ("micclass") of object?

Use Spy for that:

Open QTP object Spy and check recorded properties of object.


For example, these are properties of Edit:
As you can see, there is "Class Name" property and its value - "WebEdit". So, "WebEdit" is
a value of Class Name of all Edits located on Web page.
Note: "Class Name" is a synonym of "micclass".

I gathered Class Names of Web objects in this table:


# Type of Web object Class Name(micclass)
1 Web Browser Browser
2 Page Page
3 Edit box WebEdit
4 Image Image
5 Link Link
6 Web Element WebElement
7 Button WebButton
8 Checkbox WebCheckBox
9 Combobox (DropDownList) WebList
10 Table WebTable

Since we created Description object for all edit boxes, we can use this description to get all
specified objects ( = edit boxes).
The next step returns the collection of all child objects (i.e. edit boxes) contained within the
page:
Set Links = Browser("Google Sets").Page("Google Sets").ChildObjects(Desc)

To get the number of found objects in a returned collection, we use Count property:
MsgBox "Number of Edits: " & Links.Count

And the result is 5 found Edits on Google Sets page:

So, this is a mechanism of QuickTest Professional Descriptive Programming.

Also, we can use the same code to get number of others objects - Links, Images, Buttons, etc.
For that I modified QTP script:
Function GetAllSpecificControls(Page, MicClass)
    Set Desc = Description.Create()
    Desc("micclass").Value = MicClass
    Set GetAllSpecificControls = Page.ChildObjects(Desc)
End Function

Function GetAllEdits(Page)
    Set GetAllEdits = GetAllSpecificControls(Page, "WebEdit")
End Function

Function GetAllButtons(Page)
    Set GetAllButtons = GetAllSpecificControls(Page, "WebButton")
End Function

Function GetAllLinks(Page)
    Set GetAllLinks = GetAllSpecificControls(Page, "Link")
End Function

Function GetAllImages(Page)
    Set GetAllImages = GetAllSpecificControls(Page, "Image")
End Function

Set oPage = Browser("Google Sets").Page("Google Sets")

MsgBox "Number of Edits: " & GetAllEdits(oPage).Count


MsgBox "Number of Buttons: " & GetAllButtons(oPage).Count
MsgBox "Number of Links: " & GetAllLinks(oPage).Count
MsgBox "Number of Images: " & GetAllImages(oPage).Count
The result of this QTP script is the following:

You can compare the result with the initial web page (see first image in the present article) and
verify that QTP Descriptive programming works correctly - it returns correct numbers of objects.

Summary:

 I've explained and shown the mechanism of QuickTest Professional Descriptive


Programming (QTP DP).
 The present QTP tutorial explains how to get number of different objects - Edits, Links,
Images, Buttons, etc

You might also like