我正在尝试自动化C++ MFC应用程序的UI交互。我尝试使用UISpy和UIAVerify工具查找元素的自动化ID。我在win2k3上。
有一个选项卡控件,它的自动化ID对UISpy可见,但对UIAVerify不可见。
问题是,即使对于我使用Project白色框架或.net 3.0的ui自动化框架编写的C#代码,它也是不可见的。
我想以UISpy的方式来处理这个控件。有没有办法让我知道UISpy是怎么做到的?
谢谢!
发布于 2012-01-12 21:15:40
UISpy很可能在幕后使用微软UI自动化。您可以在this example*中看到这是如何工作的。在AutomationElement上有各种各样的条件可以用来定位它们。
我只使用过WPF标签,但我发现很难通过自动化Id找到它们。取而代之的是,我使用了AutomationName属性,并将标签上的标题作为值。我不确定怀特是否支持这一点,但我很确定你可以拿出原始的AutomationElement并按照示例使用它。
您可能还在寻找支持SelectionItemPattern的工具(有一个SelectionItemIsSupportedProperty),并且需要使用模式来选择选项卡并使其处于活动状态,然后才能看到其中的任何内容。
如果您需要更多信息,请留言。了解带有标签的容器的结构可能会有所帮助。
*自我写下这篇文章以来的利益声明。
https://stackoverflow.com/questions/8679424
复制相似问题