【发布时间】:2018-09-10 13:10:18
【问题描述】:
刚刚开始实施编码的 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";
【问题讨论】:
-
欢迎来到 stackoverflow :-)。您能否在帖子中添加更多信息,例如您已经采取了哪些步骤来确定问题的根源。您声明您从网络位置运行应用程序。它有助于在本地机器上运行它吗?当 VS 启动您的程序时,您是否以管理员身份启动 VS?从构建文件运行测试时问题是否仍然存在。它运行 setup.exe 是什么意思?您的测试是否需要先安装应用,然后再运行应用的 exe?
-
在我的本地机器上运行时它不起作用并且我以管理员身份启动我的 VS。不太确定如何从构建文件运行测试,但会调查一下。
-
如果有帮助,该应用程序是一次点击应用程序。
-
对于构建文件,我指的是 bin\debug 或 bin\release 文件夹。当您在调试或发布模式下构建程序时,您的代码会被编译并且生成的文件会在这些文件夹中找到。我通过将 exe 路径(在发布文件夹中)存储在配置文件中来测试我需要测试的程序,使 CUIT 在“运行”窗口中键入它并启动 exe。
-
我没有使用 ClickOnce 应用程序的经验,但在有关 ClickOnce 的 wiki 页面上发现它使用代码访问安全性 (CAS)。您可以检查这是否会导致任何麻烦。另见en.wikipedia.org/wiki/Code_Access_Security
标签: c# .net automated-tests coded-ui-tests