We develop an app that has menu items (File,Home,Insert,Settings,View,Help) when using the object spy to identify all menu items except from the File one it'll identify them all properly marking the area where the menu item name is but, when trying to do the same with the File menu TestComplete will mark the whole panel in red and not only the area where the text (File) is, that is a problem because if i want to saelect this menu item usinf the Click() method then it'll click somewhere on the panel and not on the text, i tried using coordinates (I don't like it as it's not as reliable) but it failed when running the script on a remote machine. Is there a way to dril down this DevExp control and ask TestComplete to click on the File tab exactly and not using coordinates?
When recording a click on the control that's what Testcomplete generates - Aliases.Editor.Editor_Root_Window.MainWindowRibbonControl.Click(30, 48);
When selecting for example the Insert menu item that what I see in the code - Aliases.Editor.Editor_Root_Window.MainWindowRibbonControl.RibbonMenuControls.RibbonControlInsert.Click(35, 16);
See attached .
Solved! Go to Solution.
Yes it was resolved by using this way:
Have you tried using the built-in ClickItem method for ribbon menus?
Thanks for the reply.
I did what it says in the link you sent but, can't see any change with the object recognition.it just recognize it as a whole panel and won't "drill" down to the File tab.
The prblem wasn't to have TC identify the object but having TC being able to click the FILE menu item as shown in the screenshots, at the moment if I won't mention any coordinates TC clicks at the center of that ribbon and if I do mention coordinates it will click the correct place on my dev machine but won't click the same place (although very close) when running the same script on a remote machine.
Any other suggestions?
Can you provide code example of what you tried with the ClickItem option?
Sure, I had code example in my original post. there you go:
Is that what you meant?
I would like to see how you tried to implement the ClickItem method. Using that you shouldn't have to map the specific buttons, just their parent.
Do you mean something like this?
Ribbons have their own ability to click items within it without having to map the items.
Tried,it just moves to the next line in the code, does nothing, not even going to the app
I've attached 2 screenshots of how TC identifies the menu items, apparently the File menu is the parent of the rest of the othermenu tabs. so in this case not sure index will help isn't it?
Apologies, I meant to say Aliases.Editor.Editor_Root_Window.MainWindowRibbonControl.RibbonMenuControls.ClickItem(0).
If that does not work can you provide the full code you are executing, screenshot of the log, and the object browser properties and methods for the object RibbonMenuControls with advanced view options turned on.