Selecting an item from List box based on the name using
Hello, I am fairly new to Test Complete and just learning, can someone show me using my example I provided here on selecting the specific item (see screenshot) from the web List box that I show highlighted in the Element screen ?
What is the best method to use to search and select (click) the item as the current item in the menu? I would also like once I get the basic to search the item in the list box that I have stored in the patient variable where I would get from another screen (another script test/keyword test) so I can look for it.
Here are two methods I found; page.NativeWebObject.Find and aqObject.CheckProperty but not sure which is best to use in this case. If you know something better and please if you can provide it with this example.
I would also like once I get the basic to search the item in the list box, I would like to reuse the patient variable where I would get from another screen (another script test/keyword test) and apply it to the search item on the list.
Can someone show me how to apply it in JavaScript using the sample I provided?
ELEMENT SCREEN:
SPY TOOL:
In basic scripting, without a dynamic variable, finding and clicking the object is just:
Sys.Browser("*").Page("*").FindElement("//div[.='Refracnadim1 1_Refractionist']").Click();
And if you're using a Project.Variable, it would be something like:
Sys.Browser("*").Page("*").FindElement("//div[.='" + Project.Variable.ListItemX + "']").Click();
That being said, it looks like you are using NameMapping within TestComplete, so if it is indeed a mapped object, to click it you would just use:
Aliases.browser.pageWHATEVER.label.panelRefracnadim11Refractionist.Click();
If this object's xpath has a dynamic property variable that you pass in from another test, you'll need to insure:
- You are using Project.Variable and not a ProjectSuite.Variable.
- You'll want to update the object in NameMapping to use the Project.Variable in the property criteria (see how here). EX: if your variable name was ListItemX for example, the xpath in the NameMapping would be //div[., '%ListItemX%'].
- (Optional) Change the object Name and Alias from panelRefracnadim11Refractionist to panelRefracnadimRefractionist (or similar) for ambiguity and assuming the number changes. This allows you to only need 1 mapped object for every item in the list - assuming you are using the variable approach to pass in the dynamic part of the xpath, and assuming the parent object is mapped appropriately (IE: mapping the container box the list items are in //div[contains(@class, 'practitioner-container')]).