C# teststack白色在登录窗口之后获取主窗口
我正在使用Teststack white自动化windows应用程序,目前的问题是,在登录主应用程序后,white似乎找不到新窗口C# teststack白色在登录窗口之后获取主窗口,c#,.net,nunit,white-framework,C#,.net,Nunit,White Framework,我正在使用Teststack white自动化windows应用程序,目前的问题是,在登录主应用程序后,white似乎找不到新窗口 var pathAp = appPath(path); Application application = Application.Launch(pathAp); Window window = application.GetWindow("login"); TextBox userName = window.Get
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");
var-pathAp=appPath(路径);
应用程序=Application.Launch(pathAp);
Window Window=application.GetWindow(“登录”);
TextBox userName=window.Get(“用户名”);
TextBox pass=window.Get(“pass”);
用户名。输入(“user1”);
通过。输入(“通过”);
按钮登录=window.Get(“登录”);
login.Click();
//现在程序将等待,主窗口将显示
windowmainwindow=application.GetWindow(“main”);
由于某种原因,程序抛出一条错误消息,表示找不到窗口。
任何想法都要感谢所以我知道在登录到应用程序后发生了什么,新的进程ID出现了,而不是旧的进程ID,所以我使用application.Attach()方法来获取新的“应用程序”,Attach方法以PID作为参数,为了得到这个结果,可以使用以下方法process.getProcessByName(),然后,您可以获得进程的ID,该ID最终可以传递给attach方法。如果您还有新代码,您可以发布新代码吗?因为我遇到了同样的问题,并试图解决这个问题。var process=process.getProcessByName(“应用程序名称”)[0];app=Application.Attach(process.Id);window2=app.GetWindow(“利润版4.4.24”);您是否也这样做了?我想问您,您使用什么样的工具来定位UI元素?有点不同:)TestStack.White.Application application1=TestStack.White.Application.Launch(@“c:\path\app.exe”);application1.Process.WaitForExit();TestStack.White.Application mainApplication=TestStack.White.Application.Attach(“应用程序”);当然,如果有更多相同的应用程序被打开,这个方法就会出错,所以在打开之前,我会杀死所有使用这个应用程序名称的程序。我有一个可视化的UI应用程序验证工具。