2017-05-31 1 views
0

Ich kann nicht in den Datei-Explorer-Fenster mit dem weißen Rahmen greifen. Ich habe das Windows 10 SDK Inspect-Tool für den Datei-Explorer verwendet: Inspect ImageVerwenden Sie Teststack White mit Windows-Datei-Explorer

Wie Sie feststellen können, ist das Fenster Name leer.

Um das Fenster zu holen, mindestens von ihrem docs, müssen Sie GetWindow mit dem Namen verwenden. Ich verwenden, um diesen Codeblock:

Application application = Application.Launch("C:\\Window\\explorer.exe"); 
System.Threading.Thread.Sleep(10000); 
List<Window> windows = Desktop.Instance.Windows(); 
for (int i = 0; i < windows.Count; i++) 
    Console.WriteLine(i + ". " + windows[i]); 
Window fileExplorer = application.GetWindow(""); 

Die Schleife Ausgabe zeigt alle Fenster: (2. höchstwahrscheinlich die Datei-Explorer ist)

0: C: \ Benutzer \ admin \ Dokumente \ Visual Studio 2017 \ foo.exe

1: foo (Running) - Microsoft Visual Studio

2:

3: Programm-Manager

Und GetWindow zeigt dies:

konnte nicht Fenster mit Titel in Prozess 6296 finden, nach 30 Sekunden Warte

I Teststack Weiß bekommen haben mit einer anderen Anwendung zu arbeiten Wenn der Name in inspect angegeben wird, scheint es kein Problem mit Teststack White zu sein, sondern mit dem Datei-Explorer, da er keinen Namen hat. Gibt es jedoch eine andere Möglichkeit, TestStack zum Öffnen des Datei-Explorer-Fensters zu veranlassen.

TL; DR: Wie bekomme ich das TestStack White-Framework, um das Fenster des Windows-Datei-Explorers zu greifen, um Befehle an es zu senden?

Antwort

0

TestStack Weiß ist zu begrenzt. Wechsel zu Microsoft UI Automation. Mit

var fileExplorer = 
AutomationElement.RootElement.FindFirst(TreeScope.Children, 
new PropertyCondition(AutomationElement.NameProperty, "File Explorer")); 

, um den Datei-Explorer zu erhalten.