刚开始实施编码的ui测试自动化解决方案,但在启动应用程序时始终遇到问题。
应用程序似乎可以正常启动,但是无论我总是得到什么异常声明:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToLaunchApplicationException:“无法启动应用程序。这可能是由于以下原因之一: 1)该应用程序的另一个实例已经在运行,并且一次只能运行一个实例。 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";
答案 0 :(得分:0)
当前使用一种变通方法,在该方法中,我通过Process启动应用程序,然后将其传递给测试中的FromProcess()应用程序。似乎是要解决此问题。
可能不是最好的解决方案,必须使用Thread.Sleep(),但目前可以使用。
示例:
var process = Process.Start(@“ \ strivelogistics.com \ loadrunner \ QA \ LoadRunner \ LoadRunner.QA.application”);
Thread.Sleep(2000);
process = Process.GetProcessesByName(“ LoadRunner.QA”)[0];
ApplicationUnderTest aut = ApplicationUnderTest.FromProcess(process);