I'm trying to get an object of Datasheet type. But the function parses all elements of the application and I am not sure where it throws the exception.
However! I have a strong reason to believe it is the same place where Ranorex Spy crashes when I try to get to the required element.
Here is the exception text reported by Ranorex Spy:
Code: Select all
System.NullReferenceException: Object reference not set to an instance of an object.
at Ranorex.Libs.WinForms.ControlProxy.GetValue(String propertyName)
at Ranorex.Plugin.WinFormsFlavorElement.GetPropertyValue[T](String propertyName)
at Ranorex.Plugin.WinFormsFlavorElement.get_Visible()
at Ranorex.Core.Element.GetVisible(CacheSession session)
at Ranorex.Core.Element.get_Visible()
at Ranorex.Controls.ElementTreeModel.CreateNodeFromElement(IElement elem)
at Ranorex.Controls.ElementTreeModel.GetChildren(TreePath treePath)
at Aga.Controls.Tree.TreeViewAdv.ReadChilds(TreeNodeAdv parentNode, Boolean performFullUpdate)
at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(TreeNodeAdv node, Boolean value)
at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(ExpandArgs eargs)
at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(TreeNodeAdv node, Boolean value, Boolean ignoreChildren)
at Aga.Controls.Tree.TreeNodeAdv.SetIsExpanded(Boolean value, Boolean ignoreChildren)
at Aga.Controls.Tree.TreeNodeAdv.Expand(Boolean ignoreChildren)
at Aga.Controls.Tree.TreeNodeAdv.Expand()
at Ranorex.Controls.ElementTreeAdv.SelectElement(IElement element, Boolean updateTree, Boolean expandCurrent)
at Ranorex.Controls.ElementTreeAdv.RefreshTree()
at Ranorex.Controls.ElementTreeAdv.updateTreeNodeToolStripMenuItem_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I didn't compare, but something tells me the exception is the same as I'm getting in the GetAttribute method.
The strange part about it is, that in my application I have 5 pages with identical paths, I specifically copied and compared them, their RXPath are absolutely the same.
When I activate 4 out of these 5 pages, I can browse through all the elements both with Ranorex Spy and my function. But when I open the 5th one - I get a crash no matter what I use - spy or function.
It happens on the following control:
ControlName: designerRegion
ControlTypeName: OverlayControl