Page 1 of 1

Background of the object recognition

Posted: Mon Oct 29, 2018 4:19 pm
by knight01
Hi,

could somebody explain the background of the object recognition mechanism in Ranorex to me? I read the documentation but it doesn't go into the very details.
I suppose Ranorex uses Microsoft UI Automation interface.
But what about the other technologies like Delphi, etc.?
I would like to know more about the background, so my questions are:
- how does Ranorex obtain the list of the UI elements? How does it look inside the software under test?
- how does Ranorex choose the role (and the attributes) of the UI elements?

across the different technologies?

Thanks!

Re: Background of the object recognition

Posted: Mon Oct 29, 2018 5:31 pm
by krstcs
The "HOW" of several of your questions is likely protected by Ranorex as trade secrets, so don't expect a substantial answer from them on some of those points.

Yes, they do use MS UIA and MSAA for Win32.
For Java, they hook into Java's automation solutions.

I don't use Delphi, so I can't answer that one directly, but I'm guessing Delphi has some form of UI Automation framework. If it doesn't then there may be some Ranorex "magic" that happens (and this is highly likely to be protected as trade secrets).

For a lot of it, they just use the Windows DOM and populate items from reading that straight from Windows. The DOM in Windows is basically a hierarchical tree of each element as related to it's parent element and any children. Each object in the DOM has only one parent, but can have multiple children. If the SUT/technology uses the DOM (as opposed to just painting a single picture to the screen) then Ranorex can see that. Otherwise, they have to either use available UI automation frameworks provided by the technology, or they have to engineer their own, which would be protected.

They run a for-profit business, so protecting their work is important to keep the business strong.