White using UIAComWrapper

Jan 5, 2012 at 12:20 AM

Hi there, I am currently using the white automation project to do some automated testing. I was running into an issue with the .Net UIAutomation in that it seems to outsmart itself by assuming menu items with the keyword "Control" are accelerator keys. This poses an issue because the Name of the item is not the correct name. However this is not the case with the Native Automation API. So I was advised to use the UIAComWrapper project, so from there I used the White source to build myself a new DLL using the COM wrapper. I ran into issues with the Interop library not being completed, so I patched the problems with that. Now I seem to be running into issues with White not having the AutomationElement for it's objects. For example, if I have the MainWindow from the Application and I get a Tree object (i.e. MainWindow.Get<Tree>(SearchCriteria.ByAutomationId(treeId)); I get the tree, if I breakpoint and hover I get an error saying the UIItem may have been disposed. However if I continue on and say use tree.AutomationElement.FindAll and find it's children, their all there. But using a call like tree.Node(nodePath), will throw saying the nodes don't exist. This also is happening with ListViews and I'm assuming all of the other objects. 

Are there any thoughts on what would be causing this?

 

Cheers.