UI 自动化框架有一个基类AutomationElement,它有一个属性ItemStatus,可用于存储任意字符串。我正在尝试从 Visual Studio 2010 Coded UI Tests基类UITestControl获取该属性。
问问题
1949 次
1 回答
3
查看 Coded UI Tests 为WpfControl
. 它有一个属性 NativeElement。此属性是一个AutomationElement
.
public abstract class WpfControl : UITestControl
{
...
public virtual object NativeElement
{
get
{
return ((object)(this.GetProperty(UITestControlProperties.Common.NativeElement)));
}
}
...
}
您可以编写一个扩展方法来转换它并获取 ItemStatus。
public static string GetItemStatus(this WpfControl control)
{
var automationElement = (AutomationElement)control.NativeElement;
return automationElement.Current.ItemStatus;
}
我不确定为什么 NativeElement 被记录为object
(这使得 getter cast 变得多余)。所有 WPF 控件的 NativeElement 都是AutomationElement
. 我建议编辑生成的代码并直接调用control.NativeElement.Current.ItemStatus
。
于 2009-12-04T19:11:12.937 回答