在 Squish 中不使用名称通过坐标获取对象

问题描述

我有一个问题,waitForObject 或 findobject 仅适用于名称中的元素。但是我需要简单地通过坐标获取这些对象,我使用 x,y。 这在 Squish 中原则上可行吗?

解决方法

当前可用的 Squish 版本均不提供此功能。但是,也可以使用 GUI 控件的原生 API,例如(Squish for Qt with a Qt AUT(Application Under Test)QWidget.childAt(x,y))。

还可以遍历 GUI 对象树 (object.topLevelObjects(),object.children()) 并查询每个单独对象 (object.globalBounds()) 的(全局)边界,但是这样很难确定其中哪些实际上是可见的、隐藏的、被其他对象覆盖的等等。