我正在尝试使用Project White为我的 WPF 应用程序编写自动化测试。在我尝试与 Infragistics 控件交互之前,一切都很顺利。有没有人对此设置有任何经验,您能否发布一个示例,说明我如何(例如)与 XamRibbon 或 XamOutlookBar 进行交互?
问问题
1223 次
1 回答
2
恐怕有点笼统的答案,但如果 White 没有帮助您,您可以直接使用 Microsoft UI 自动化。
首先,找到你的控制。如果它有一个 WPF“名称”,那么它可能有一个与名称匹配的自动化 ID:
AutomationElement element = AutomationElement.Root.FindFirst(
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, <whatever>))
或者,您可以使用 NameProperty 之类的东西,它主要映射到文本或标题,或者 ControlTypeProperty 或 ClassProperty。您始终可以使用 FindAll 为您提供有关可用控件的更多信息。
当你找到你的控件时,打印出它支持的模式和属性:
element.GetSupportedPatterns()
element.GetSupportedProperties()
属性返回信息。这些模式类似于 ListItemPattern、GridPattern,让您可以访问更多特定于组件的值。您可能会找到一种模式或属性,它可以满足您的需求。White 部分建立在此之上,因此它可能会帮助您找出可以使用哪些 White 组件。例如:
((TogglePattern)Element.GetCurrentPattern(TogglePattern.Pattern)).Toggle()
Snoop 是一个应用程序,它可以帮助您获得这些信息,而无需通过打印输出:http ://snoopwpf.codeplex.com/
于 2010-06-14T13:14:14.613 回答