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 Countproperty:
MsgBox "Number of Edits: " & Links.Count
And the result is 5 found Edits on Google Sets page:
No comments:
Post a Comment