我正在使用 UI 自动化框架(.net 4.6.1)自动化应用程序。
在使用Visual UI Automation Verify
我检查应用程序时,我能够看到AutomationId
属性的值。
我用 C# (wpf) 编写了一个小型自动化脚本
当我在 Windows 7 上执行我的自动化脚本时,一切正常。
当我在 Windows 10 上尝试时,所有 AutomationId 值都是空字符串。
示例代码:
AutomationElement.RootElement.FindFirst (
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, myAutomationId)
);
此示例返回 null,因为它找不到具有myAutomationId
值的元素,当我探索所有子项时,AutomationElement.RootElement
我发现 AutomationId 值为空(与我在 上看到的Visual UI Automation Verify
不同,也与在 Windows 7 上运行时得到的不同)
我对AutomationId
属性有什么遗漏吗?或者关于 UI 自动化框架如何在 Windows 10 上运行?
编辑:
我注意到,当我遍历子元素时,我发现其中一些元素的 AutomationId 具有 NativeWindowHandle 的值。这是为什么?
编辑2:
我已经尝试了非常广泛的具有多个版本的 UI 自动化 dll,甚至都无法在 Windows 10 上找到该应用程序。
同样的事情TestStack.White
(也不适用于Windows 7)。