hhagay
8 years agoContributor
How to better identify objects in a web page.
Hi
I use the following properties to identify an object (drop-down-listbox).
ObjectType: Panel contentText: Select...
However, there are two objects with these properties and I am unable to find a third unique property to use. Any ideas?
This is the method I use to locate the object:
/** * Function Name:selectListbox * Description: find the object * @param {string} browserAUT * @param {string} lstobjType (example "Panel") * @param {string} lststr. - the text of the particular object (example "Select...") * @param {string} sublstobjType (example "Panel") * @param {string} sulststr. - the text of the particular object (example "Male") * @param (boolean) */ function selectListbox(browserAUT, lstobjType, lststr, sublstobjType, sulststr) { spUtils.beginlog("selectListbox"); var page = Sys.Browser(browserAUT).Page("*"); var lstbox_PropArray, lstbox_ValuesArray, lstbox; lstbox_PropArray = new Array("ObjectType", "contentText"); lstbox_ValuesArray = new Array(lstobjType, lststr); lstbox = page.FindChild(lstbox_PropArray, lstbox_ValuesArray, 2000); if (lstbox.Exists) { Sys.HighlightObject(lstbox); Log.Message(lstbox.FullName); lstbox.Click(); } else Log.Error("The object was not found."); /** * SUB LIST ITEM */ var sublstbox_PropArray, sublstbox_ValuesArray, sublstbox; sublstbox_PropArray = new Array("ObjectType", "contentText"); sublstbox_ValuesArray = new Array(sublstobjType, sulststr); sublstbox = page.FindChild(sublstbox_PropArray, sublstbox_ValuesArray, 2000); if (sublstbox.Exists) { Log.Message(sublstbox.FullName); sublstbox.Click(); } else Log.Error("The object was not found."); spUtils.endlog(); }
Obviously the label name is unique, but I can't use it to open the list box.
Attached file has a copy of the Object Spy properties.
NOTE: The page is created by react and id's are dynamic so I can't use any react id confidently.
Thank you