已编码 UI 正在测试的应用程序
Coded UI Application Under Test
刚刚开始实施编码 ui 测试自动化解决方案,但在启动应用程序时一直 运行 遇到问题。
应用程序似乎可以正常启动,但无论如何我总是收到异常说明:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToLaunchApplicationException: "应用程序无法启动。这可能是由于以下原因之一:
1) 应用程序的另一个实例已经 运行ning 并且一次只能 运行ning 一个实例。
2) 应用程序启动了另一个进程,现在已经停止。您可能需要直接启动该过程。
3) 您没有足够的权限使用此应用程序。"
该应用程序有点奇怪,因为它当前设置为 运行 关闭 setup.exe,因此用户始终拥有最新版本。
我的代码中是否遗漏了什么(下面的示例)?或者在我开始编写自动化测试之前是否需要更好地设置应用程序。 EXE 位于网络位置。
ApplicationUnderTest aut = ApplicationUnderTest.Launch(@"\test.com\applicationdir\testenv\application\setup.exe");
WpfEdit userName = new WpfEdit(aut);
userName.SearchProperties.Add(WpfEdit.PropertyNames.AutomationId, "PART_UserName");
userName.Text = "TEST";
目前使用的解决方法是通过 Process 启动应用程序,然后将其传递给正在测试的应用程序 FromProcess()。似乎解决了这个问题。
可能不是最好的解决方案,必须使用 Thread.Sleep() 但它现在有效。
示例:
var 进程 = Process.Start(@"pathToApplication");
Thread.Sleep(2000);
进程 = Process.GetProcessesByName("process.Name")[0];
ApplicationUnderTest aut = ApplicationUnderTest.FromProcess(进程);
刚刚开始实施编码 ui 测试自动化解决方案,但在启动应用程序时一直 运行 遇到问题。
应用程序似乎可以正常启动,但无论如何我总是收到异常说明:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToLaunchApplicationException: "应用程序无法启动。这可能是由于以下原因之一: 1) 应用程序的另一个实例已经 运行ning 并且一次只能 运行ning 一个实例。 2) 应用程序启动了另一个进程,现在已经停止。您可能需要直接启动该过程。 3) 您没有足够的权限使用此应用程序。"
该应用程序有点奇怪,因为它当前设置为 运行 关闭 setup.exe,因此用户始终拥有最新版本。
我的代码中是否遗漏了什么(下面的示例)?或者在我开始编写自动化测试之前是否需要更好地设置应用程序。 EXE 位于网络位置。
ApplicationUnderTest aut = ApplicationUnderTest.Launch(@"\test.com\applicationdir\testenv\application\setup.exe");
WpfEdit userName = new WpfEdit(aut);
userName.SearchProperties.Add(WpfEdit.PropertyNames.AutomationId, "PART_UserName");
userName.Text = "TEST";
目前使用的解决方法是通过 Process 启动应用程序,然后将其传递给正在测试的应用程序 FromProcess()。似乎解决了这个问题。
可能不是最好的解决方案,必须使用 Thread.Sleep() 但它现在有效。
示例:
var 进程 = Process.Start(@"pathToApplication");
Thread.Sleep(2000);
进程 = Process.GetProcessesByName("process.Name")[0];
ApplicationUnderTest aut = ApplicationUnderTest.FromProcess(进程);