UI Automation framework имеет базовый класс, AutomationElement, который имеет свойство ItemStatus, которое может использоваться для хранения произвольных строк. Я пытаюсь получить это свойство из базового класса Visual Studio 2010 Coded UI Tests, UITestControl.Как получить ItemStatus из UITestControl?
2
A
ответ
2
Посмотрите на код кодированного пользовательского интерфейса, сгенерированный код для 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
(что делает геттер произнесения излишним). Все элементы управления WPF «NativeElement» имеют тип AutomationElement
. Я бы предложил отредактировать сгенерированный код и просто позвонить control.NativeElement.Current.ItemStatus
напрямую.