0

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

有一个选项卡控件,其自动化 ID 对 UISpy 可见,但对 UIAVerify 不可见。

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

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

谢谢!!!

4

1 回答 1

0

UISpy 很可能在幕后使用 Microsoft UI 自动化。你可以从这个例子中看到它是如何工作的*。AutomationElement 上有各种条件,您可以使用它们来定位它们。

我只使用过 WPF 选项卡,但发现通过自动化 ID 很难找到它们。相反,我一直在使用该AutomationName属性,将选项卡上的标题作为值。不确定怀特是否支持这一点,但我很确定您可以AutomationElement按照示例取出原件并使用它。

您可能还会寻找支持SelectionItemPattern(有一个SelectionItemIsSupportedProperty)的东西,并且您需要使用该模式来选择选项卡并使其处于活动状态,然后才能看到其中的任何内容。

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

*自从我写这篇文章以来的利益声明。

于 2012-01-12T13:15:40.327 回答