Qt GraphicsView hosted Widgets Automation

Technology specific object identification, supported applications, web technologies, and 3rd party controls.
this_is_ridiculous
Posts: 27
Joined: Tue Apr 27, 2010 10:33 pm

Qt GraphicsView hosted Widgets Automation

Post by this_is_ridiculous » Wed Oct 02, 2013 4:58 pm

Hello!

Is there any way to detect the Qt's widgets on GraphicsView? We've recently encountered this on the UI of our new automated products. Those products are not developed by us, so we do not have access to the source code and we cannot ask developers to make some kind of bridging dll library to poll the product for it's controls. I suppose this was introduced in Qt v.4.4. This is the only one place Ranorex Spy is completely blind for those products. All the rest of Qt widgets are visible and accessible.

Any help on this issue is highly appreciated.

Artem.

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: Qt GraphicsView hosted Widgets Automation

Post by Support Team » Fri Oct 04, 2013 6:39 pm

Hello Artem,

I am not exactly sure if this will help in your case, but did you already try to follow the steps in our user guide in order to load the accessible Plug-in for your Qt application
You can also try to use "Image-Based Automation" as workaround if you have no access to the source code.
Please let me know if this works for you.

Regards,
Bernhard
.
Image

this_is_ridiculous
Posts: 27
Joined: Tue Apr 27, 2010 10:33 pm

Re: Qt GraphicsView hosted Widgets Automation

Post by this_is_ridiculous » Mon Oct 07, 2013 11:59 am

Hello!

Thanks for your reply.
Yes, we've added all the accessibility libraries for Qt. We can clearly detect controls on other Qt UI elements of the products. But we cannot detect widgets on the graphics view. The technology provides similar results to WPF and Silverlight but is not defined by the xaml. The widgets and controls added to the Qt GraphicsView are painted with OpenGL so you can set any kind of 3D transformations to them. However there are no transormations in our product.

The image based aproach could actually work. But we have to support more than 12 languages of localized product UI. So in this case we should create referenced images for each language. That's what I would like to avoid. To be more clear, we do not use the standart Ranorex approach highlighted in the document. Instead we've developed our own abstraction layer for the product on top of Ranorex API.

But if nothing more reasonable surfaces in the coming weeks there will be no choice left but to use imaging for automation.

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: Qt GraphicsView hosted Widgets Automation

Post by Support Team » Wed Oct 09, 2013 10:08 am

Hello Artem,

It seems that there is no way around, since the painted elements are no typical objects which can be tracked by a tool.
To be sure could you post us a Ranorex snapshot file of that view?

Regards,
Markus
.
Image

this_is_ridiculous
Posts: 27
Joined: Tue Apr 27, 2010 10:33 pm

Re: Qt GraphicsView hosted Widgets Automation

Post by this_is_ridiculous » Wed Oct 09, 2013 10:27 am

Hello

To be honest it seems to me it works sort of like WPF. These are not just painted objects but the well known common Qt widgets. Just from the code perspective those are added to Qt's GraphicsView scene intead of some parent control. Just the presentation changes. In case of WPF it's easier to capture controls due to somewhere there is BAML in the memory and there is a metadata like visual and logical trees in memory as well. But it seems there's too little information about that kind of Qt tech. I mean the information about the way it works but not the information about how to add you first Qt widget to GraphicsView.

I will discuss with the team the possibility of providing you with a snapshot and let you know the results shortly.

Thanks
Artem.