2017-05-31 2 views
0

Je n'arrive pas à saisir la fenêtre de l'Explorateur de fichiers avec le cadre blanc. J'ai utilisé l'outil 10 SDK Inspect de Windows sur l'explorateur de fichiers pour obtenir ceci: Inspect ImageUtiliser Teststack Blanc avec l'explorateur de fichiers Windows

Comme vous pouvez le constater le nom de la fenêtre est vide.

Afin de saisir la fenêtre, au moins à partir de leur docs, vous devez utiliser GetWindow avec le nom. J'ai utilisé ce bloc de code:

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(""); 

La sortie affiche en boucle toutes les fenêtres: (2. la plupart étant probablement l'explorateur de fichiers)

0: C: \ Users \ admin \ Documents \ Visual Studio 2017 \ foo.exe

1: foo (Running) - Microsoft Visual studio

2:

3: Gestionnaire de programme

Et GetWindow affiche ceci:

fenêtre Impossible de trouver avec le titre en cours 6296, après avoir attendu pendant 30 secondes

Je suis devenu blanc Teststack travailler avec une autre application Lorsque le nom est donné en inspection, il ne semble pas y avoir de problème avec Teststack White mais avec l'explorateur de fichiers car il n'a pas de nom. Cependant, existe-t-il un autre moyen d'obtenir TestStack pour récupérer la fenêtre de l'Explorateur de fichiers.

TL; DR: Comment obtenir l'infrastructure TestStack White pour saisir la fenêtre de l'Explorateur de fichiers de Windows afin de lui envoyer des commandes?

Répondre

0

TestStack Blanc est trop limité. Basculé vers Microsoft UI Automation. En utilisant

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

pour obtenir l'Explorateur de fichiers.