Насколько я знаю, есть два способа получить окно с TestStack.White:
Запустите приложение и откройте окно
var applicationPath = Path.Combine(applicationPath, "foo.exe");
Application application = Application.Launch(applicationPath);
Window window = application.GetWindow("bar", InitializeOption.NoCache);
Получить все окна на экране и найти нужное окно
List<Window> windows = Desktop.Instance.Windows();
foreach (Window w in windows){
// Iterate through the windows list to get the window you want
}
Первое решение имеет большое ограничение, потому что оно всегда требует запуска приложения в первую очередь. Второй, с другой стороны, может использоваться в любой ситуации, но он может занимать довольно много времени, когда имеется много окон. И в случае поиска дочерних окон все может быть намного хуже, потому что вам нужно сделать еще один цикл по списку дочерних окон.
Итак, есть ли лучший способ найти окно? Я использовал несколько фреймворков и инструментов автоматизации, все они имеют методы для непосредственного поиска окна по имени или другим критериям.