我正在尝试使用Project White为我的WPF应用程序编写自动化测试。在我尝试与Infragistics控件进行交互之前,这一切都很顺利。有没有人有过这种设置的经验,你能否发布一个我可以(例如)与XamRibbon或XamOutlookBar互动的例子吗?
答案 0 :(得分:2)
我担心一般的答案,但如果White没有帮助您,您可以直接使用Microsoft UI Automation。
首先,找到你的控件。如果它有一个WPF“名称”,那么它可能有一个与名称匹配的自动化ID:
AutomationElement element = AutomationElement.Root.FindFirst(
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, <whatever>))
或者,您可以使用NameProperty(主要映射到文本或标题)或ControlTypeProperty或ClassProperty之类的东西。您始终可以使用FindAll为您提供有关可用控件的更多信息。
找到控件后,打印出支持的图案和属性:
element.GetSupportedPatterns()
element.GetSupportedProperties()
属性提供回信息。模式类似于ListItemPattern,GridPattern,可以访问更多特定于组件的值。您可能会找到一种图案或属性,可以满足您的需求。白色部分构建于此之上,因此它可以帮助您找出可以使用的白色组件。例如:
((TogglePattern)Element.GetCurrentPattern(TogglePattern.Pattern)).Toggle()
Snoop是一款应用程序,可以帮助您在不通过打印输出的情况下获取此信息:http://snoopwpf.codeplex.com/