2016-03-29 15 views
1

Ich habe eine C# WinForms-Anwendung mit mehreren Infragistics-Komponenten, einschließlich Grids, Statusleisten und so weiter.Zugriff auf Infragistics UI-Komponenten mit TestStack.White

Ich versuche, die UI-Tests mit TestStack.White zu automatisieren: Bisher habe ich erfolgreich mit den regulären .net-Komponenten interagieren.

Ich verwende das Visual UI Automation Verify-Tool, um die Anwendung zu untersuchen und die erforderlichen UI-Komponenten zu finden bzw. darauf zuzugreifen. Ich muss auf den Text des markierten Hyperlinks in einer UltraStatusBar zugreifen.

enter image description here

Im Folgenden ist der C# -Code ich verwende. Ich kann das Panel, das die UltraStatuBar enthält, erfolgreich aus dem Hauptfenster und der Statusleiste selbst abrufen, aber irgendwie konnte ich nicht auf die UI-Komponenten innerhalb der UltraStatusBar zugreifen.

enter image description here

Irgendwelche Hinweise?

Antwort

1

Haben Sie versucht, die UIAComWrapper Zweig von White mit? Ich habe festgestellt, dass viele der Infragistics-Steuerelemente ohne MS Automation 3.0 nicht zugänglich sind (was UIAComWrapper umschließt).

0

Sieht aus wie Sie verwenden UIA Verify 2.0, die Ihnen zeigt, was mit UIComWrapper gesehen werden könnte. White verwendet MS UI Automation ohne UICom.

Mögliche Lösung - versuchen Kontrollen durch native MS UI Automation zu finden, wenn es Whites Problem ist

var elementsCollection = statusBar.AutomationElement.FindAll(TreeScope.Children, Condition.TrueCondition); 
    foreach (AutomationElement element in elementsCollection) 
    { 
     if (element.Current.AutomationId.Contains("lblFileName")) 
     { 
      //do what you need 
     } 
    }