Forum Discussion

helca_f's avatar
helca_f
New Member
2 months ago

TestComplete doesn’t recognize child controls inside WinForms DevExpress components

Hi everyone,

I’m new to automation in TestComplete and I’m currently trying to set up UI mapping for our WinForms application that uses DevExpress controls. However, TestComplete cannot “see inside” some of our larger components — it only recognizes them as a single rectangular area without any child controls. Specifically, these are the problematic ones:

System.Windows.Forms.ToolStrip 
USYS.is_USYS_net.ClientControls.StTreeList
USYS.is_USYS_net.ClientControls.StPageControl

(the last two are custom wrappers built on top of DevExpress controls such as XtraTreeList and XtraTabControl).

When I inspect the controls in the Object Browser or with Object Spy, TestComplete shows only one object (for example treeListRejstrik or mainPageControl), but no internal elements (no tree nodes, tab pages, or toolbar buttons).

What I’ve already tried: Verified that the .NET, UI Automation, and Developer Express Control extensions are enabled.
Added the corresponding ClrFullClassName to Object Mapping under: Tree View controls (for StTreeList and DevExpress.XtraTreeList.TreeList)
Tab Controls (for StPageControl and DevExpress.XtraTab.XtraTabControl)
Tool Bar controls (for System.Windows.Forms.ToolStrip)
Restarted both TestComplete and the AUT multiple times.

Environment: TestComplete version: 15.78.12.7 x64
Windows 11
WinForms application
DevExpress
WinForms components
Some controls use DirectX paint (I suspect this might affect accessibility/UIA exposure).

Is there a known way to make TestComplete recognize child objects inside such controls — or should I rely on Object or OCR instead?

If it helps, I can provide screenshots of the Object Browser and our Object Mapping configuration.

Thank you!

2 Replies

  • Since you’ve already tried mapping your custom classes, inspecting controls in Object Spy, and considering OCR, here are some additional things that might help:

    1. Enable MSAA alongside UIA in Project → Object Mapping. Some DevExpress child controls are only exposed via MSAA.
    2. Check DevExpress Accessibility: Make sure your controls have EnableAccessibility = true. For custom wrappers, expose the inner DevExpress controls if possible.
    3. Programmatic Access: Access child elements via script when Object Spy cannot see them. For example, iterate nodes or rows with FindChild and log their properties.
    4. Support Ticket Prep: If these steps don’t work, gather screenshots and accessibility info before opening a SmartBear ticket.

    Tip: Combining MSAA + UIA hybrid mode with DevExpress accessibility enabled resolves most child recognition issues.

    🤖 AI-assisted response
    👍 Found it helpful? Click Like
    ✅ Issue resolved? Click Mark as Solution