Pergunta

O href="http://msdn.microsoft.com/en-us/library/ms747327.aspx" rel="nofollow noreferrer"> quadro tem uma classe base, AutomationElement , que tem uma propriedade, ItemStatus , que pode ser usado para armazenar cadeias arbitrárias. Eu estou tentando obter essa propriedade da Visual Studio 2010 Coded UI Testes de classe base , UITestControl .

Foi útil?

Solução

Olhe para a interface do usuário codificado Testes gerado código para WpfControl. Ele tem uma propriedade, NativeElement. Esta propriedade é um AutomationElement.

public abstract class WpfControl : UITestControl
{
    ...

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

    ...
}

Você pode escrever um método de extensão para lançá-lo e obter ItemStatus.

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

Eu não sou certo porque NativeElement é registrado como um object (o que torna a redundante elenco getter). NativeElement todos os controles WPF são do tipo AutomationElement. Eu sugeriria editar o código gerado e simplesmente chamando control.NativeElement.Current.ItemStatus diretamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top