UI自动化验证v / s UISpy - 它们找到UI元素的方式

时间:2011-12-30 12:26:24

标签: ui-automation white ui-spy

我正在尝试为C ++ MFC应用程序自动化UI交互。我试图使用UISpy和UIAVerify工具找到元素的自动化ID。我在win2k3上。

有一个标签控件,其自动化ID对UISpy可见,但对UIAVerify不可见。

问题是 - 即使我使用Project White框架或.net 3.0的ui自动化框架编写的C#代码也看不到它。

我想以UISpy获取它的方式处理这种控制。有什么方法可以找出UISpy是如何做到的吗?

感谢!!!

1 个答案:

答案 0 :(得分:0)

UISpy可能会使用Microsoft UI Automation。您可以从this example*了解其工作原理。您可以使用AutomationElement上的各种条件来定位它们。

我只使用过WPF标签,但发现很难通过Automation Id找到它们。相反,我一直在使用AutomationName属性,选项卡上的标题作为值。不确定White是否支持此功能,但我很确定您可以获取原始AutomationElement并按照示例使用它。

你也可能正在寻找支持SelectionItemPattern的东西(有一个SelectionItemIsSupportedProperty),你需要使用该模式选择标签并让它激活才能看到其中的任何内容。

如果您需要更多信息,请发表评论。了解带有标签的容器的结构可能会有所帮助。

*自我写这篇文章以来感兴趣的声明。