Frage

Die UI Automation Framework eine Basisklasse hat, Automation , das eine Eigenschaft hat, ItemStatus , dass kann verwendet werden, um beliebige Zeichenfolgen zu speichern. Ich versuche, diese Eigenschaft in dem Visual Studio 2010 Coded UI Tests Basisklasse, UITestControl .

War es hilfreich?

Lösung

Schauen Sie sich die Tests der codierten UI generierten Code für WpfControl. Es hat eine Eigenschaft, NativeElement. Diese Eigenschaft ist ein AutomationElement.

public abstract class WpfControl : UITestControl
{
    ...

    public virtual object NativeElement
    {
        get
        {
            return ((object)(this.GetProperty(UITestControlProperties.Common.NativeElement)));
        }
    }

    ...
}

Sie können eine Erweiterungsmethode schreiben, es zu werfen und bekommen ItemStatus.

public static string GetItemStatus(this WpfControl control)
{
    var automationElement = (AutomationElement)control.NativeElement;
    return automationElement.Current.ItemStatus;
}

Ich bin nicht sicher, warum NativeElement als object aufgezeichnet wird (die die Getter Guss überflüssig macht). Alle NativeElement WPF-Steuerelemente sind vom Typ AutomationElement. Ich würde den generierten Code vorschlagen Bearbeitung und einfach Aufruf control.NativeElement.Current.ItemStatus direkt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top