2015-11-04 105 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