2015-11-04 74 views
0

我正在使用Teststack白自動化一個Windows應用程序,我目前遇到的問題是登錄主應用程序後,白色似乎無法找到新窗口。teststack white在登錄窗口後獲取主窗口

var pathAp = appPath(path); 
     Application application = Application.Launch(pathAp); 
     Window window = application.GetWindow("login"); 
     TextBox userName = window.Get<TextBox>("userName"); 
     TextBox pass = window.Get<TextBox>("pass"); 
     userName.Enter("user1"); 
     pass.Enter("pass"); 
     Button login = window.Get<Button>("login"); 
     login.Click(); 
     //now the program will wait and the main window will show up 
     Window mainWindow = application.GetWindow("main"); 

由於某種原因程序拋出一條錯誤消息,說它找不到窗口。 任何想法傢伙感謝

回答

1

所以我想通過登錄到應用程序後發生了什麼新的進程ID出現而不是舊的,所以我用Application.Attach()方法來獲得新的「應用程序「,attach方法將一個PID作爲參數,以便您可以使用以下方法Process.GetProcessesByName(),然後可以獲取最終可以將它傳遞給attach方法的進程的ID。

+0

如果你還有它,你可以發佈你的新代碼嗎?因爲我有同樣的問題,並試圖弄清楚。 – LTnewbie

+0

var process = Process.GetProcessesByName(「您的應用程序的名稱」)[0]; app = Application.Attach(process.Id); Window window2 = app.GetWindow(「PROfit Version 4.4.24」); –

+0

謝謝,但我設法弄清楚:) – LTnewbie