WPF、Project White和Infragistics

3

我正在尝试使用Project White为我的WPF应用编写自动化测试。一切都很顺利,直到我尝试与Infragistics控件交互。有没有人有这种设置的经验,并能够发布一个示例,说明我如何(例如)与XamRibbon或XamOutlookBar进行交互?


@Jamie Clayton。Stackoverflow难道不是这个问题的最佳提问平台吗? - Iain Holder
1个回答

2

很抱歉,我的回答可能有些泛泛而谈,但如果白色主题不能帮助您,您可以直接使用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的东西,可以让你访问更多组件特定的值。您可能会找到一个能够给您所需内容的模式或属性。White在此基础之上构建,因此它可能会帮助您找出哪些White组件可供使用。例如:

((TogglePattern)Element.GetCurrentPattern(TogglePattern.Pattern)).Toggle()

Snoop是一款应用程序,可以帮助您获取此信息,而无需通过打印输出:http://snoopwpf.codeplex.com/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接