How can I get Docking automation to work with Ranorex?

Docking/MDI for WPF Forum

Posted 13 years ago by Craig - Varigence, Inc.
Version: 10.2.0533
Avatar
I have an application that uses the Docking & MDI component. I'd like to test this application using the Ranorex test suite but I'm hitting a problem. As described in my forum post on the Ranorex site (http://www.ranorex.com/forum/ranorex-fails-to-derive-xpaths-for-contents-of-tab-controls-t1887.html), when I open the application during a Ranorex recording, it's able to identify the contents of the front most tab in a ToolWindow. However, once I switch tabs, Ranorex can no longer determine paths to controls in the new front-most tab.

According to Ranorex, the issue is with how the ToolWindow contents are generated. Specifically, they're generated in such a way that automation tools cannot locate and identify the contents, thereby preventing the Ranorex tools from seeing them.

Is there something you can do to make the contents of the ToolWindow controls compatible with Ranorex's UISpy-like automation requirements? Or alternatively, a workaround you can propose? (possibly changing a template to provide automation information in a XAML attribute) I realize an update to the Docking control is on the horizon, but we're at a point in our ship cycle where we realistically can't take updates that require significant UI changes.

I'll be sending along a sample project that reproduces the issue.

Thanks very much,

-Craig

Comments (5)

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Craig,

Unfortunately, the tabs in our Docking for WPF product work in the native WPF TabControl, in that only the controls of the selected tab are displayed or included in the visual tree. I've added this forum post to our TODO item for this feature request, so you will be notified when it's completed.

The only work around would be to re-style/template the ToolWindowContainer. Specially, you'd want to replace the TransitionPresenter with a custom ItemsControl that can display only the selected content and hide the non-selected content.


Actipro Software Support

Posted 12 years ago by Rob Walton - InRule Technology
Avatar
We are experiencing this issue, only with a home-grown unit test. Has the TODO item been implemented? If not, when might we expect it?
Posted 12 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Rob,

Sorry, but not this has not been completed. There are several other higher priority items that would need to be completed first.


Actipro Software Support

Posted 8 years ago by Martin - Blaise - Statistics Netherlands
Avatar

Since we are using 16.1 we have the problem that the complete docksite is one control for Ranorex (PART_Docksite?). Contained controls are not visible.

Do you have a suggestion to get the toolwindow, documents etc identifyable?

 

ty

 

It seems that the Ranorex Spy program sees "everything" , but that the recording tool stops as i stated above.

[Modified 8 years ago]

Posted 8 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Martin,

Sorry but I'm not sure how that app detects child controls.  You would probably have to contact them to see what they look at and why the recording tool doesn't work in this scenario.  In the 2016.1 version, we did our best to make the UI Automation tree as close to the UI as possible and you can access all visible tabs and docking windows through it.  Even walking the more verbose WPF visual tree gives access to the various visible tabs and docking windows.  If their Spy tool can see everything but their recording tool doesn't work, perhaps it's a bug in their recording tool logic? 

If you need to further coordinate between us and them, please have them contact our support email address and CC you as well and we'll be happy to work with them.


Actipro Software Support

The latest build of this product (v24.1.1) was released 2 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.