hhagay
9 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