UIA Verify 未显示按钮名称 属性

UIA Verify shows no name property for buttons

我需要自动化工作流程并尝试依靠 teststack white 和 UIA Verify 在另一个应用程序中找到按钮。 但是,当我尝试识别我需要控制的 window 中的控件的空名称属性时,我遇到了这些按钮(请参阅随附的屏幕截图)。 这些控件显然是自定义类型。

我希望能够按下按钮并在文本框中输入文本以及选中复选框。

有办法吗?我可以通过索引访问它们吗(例如按钮 = window 中的第三个控件)?

编辑:根据要求截图来自 inspect.exe

您介意使用 Inspect.exe 查看这些控件并发布属性的屏幕截图吗?您也许可以在它们上找到另一个独特的 属性 来识别它。 Inspect.exe 可以在 C:\Program Files (x86)\Windows Kits.1\bin\x64\inspect.exe 找到。

使用 White,您将无法获得所有按钮的集合,但使用原始 ui-automation,您将能够使用 FindAll.[=13 获得 AutomationElements 的集合=]

这里举例说明如何获取某一类型的所有控件。 Retrieve Multiple UIItems ByClassName

编辑: 因此,在从 inspect 查看更新后的图像后,恐怕您尝试自动化的应用程序没有将其应用程序正确地暴露给 ui-automation。我确信它之前没有正确暴露,但我希望他们可能不小心暴露了一些属性。我以前在 VB6 的一些第 3 方控件中看到过这个。可以使用我上面链接的技术来获取名称为“”的所有控件,但是您必须使用边界矩形 属性 将鼠标移动到正确的位置并单击(如果 属性 报告了正确的位置)因为我敢肯定 invoke pattern 不受支持。如果您有权访问源代码,则可以实现这些属性和模式。