首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不同版本windows下UI自动化的AutomationId不一致性

不同版本windows下UI自动化的AutomationId不一致性
EN

Stack Overflow用户
提问于 2019-07-01 08:21:31
回答 1查看 476关注 0票数 0

我正在使用UI自动化框架(.net 4.6.1)实现应用程序的自动化。

当使用Visual UI Automation Verify检查应用程序时,我能够看到AutomationId属性值。

我用C# (wpf)编写了一个小的自动化脚本。

当我在windows 7上执行我的自动化脚本时,所有操作都很好。

当我在windows 10上尝试时,所有的AutomationId值都是空字符串。

样本代码:

代码语言:javascript
运行
复制
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 Automation,没有一个能在windows 10上找到应用程序。

TestStack.White也是如此( windows 7也不起作用)。

EN

回答 1

Stack Overflow用户

发布于 2019-07-16 22:40:00

工作良好的UIA是UIAutomationClient.dll (如果需要的话+ UIAutomationTypes.dll )。

它直接使用自动化接口:

代码语言:javascript
运行
复制
IUIAutomation uiautomation = new CUIAutomation();

等等..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56832226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档