Skip to content

TESTAR for Qt applications

Fernando Pastor edited this page Apr 8, 2024 · 2 revisions

Previous issue with Qt elements

TESTAR internally uses the Windows UIAutomation function WindowInteractionState to detect which widgets are ready for interaction (to perform an action) and which widgets are blocked (in a back window/panel and not ready to interact).

However, for Qt applications, this WindowInteractionState function is [Not supported] by the Windows UIAutomation. This provokes TESTAR to wrongly detect existing widgets as blocked and not derive actions on them. Moreover, this issue provoked to derive actions from back windows instead of the active ones in the foreground.

image image

New internal default detection of Qt elements

By checking if the System Under Test is a 'Qt' application, we can internally manage the enable/disable of the WindowInteractionState function. This avoids detecting Qt elements as blocked and allows deriving actions.

However, another issue arose, deriving actions outside the System Under Test bounds.

obs_actions

Programmatic workaround

We decided to add an extra programmatic checking for 'Qt' applications (not at the Windows UIAutomation level) to detect which are the bounds of the main or modal window panel and block the derivation of actions in those widgets outside the System Under Test bounds.

image

If you are a user experiencing a similar problem with Qt or another application, please open a new issue in our repository describing the erroneous detection 😁