UI Automation framework有一个基类AutomationElement,它有一个属性ItemStatus,可用于存储任意字符串。我正在尝试从Visual Studio 2010 Coded UI Tests基类UITestControl获取该属性。
答案 0 :(得分:2)
查看编码的UI测试为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强制转换为多余)。所有WPF控件的NativeElement都是AutomationElement
类型。我建议编辑生成的代码,然后直接调用control.NativeElement.Current.ItemStatus
。