1

背景:

使用 TestComplete 6,我们创建了一个在我们的应用程序中单击几个按钮并执行一些任务的项目。为了使其自动化,我们创建了一个 .bat 文件来安装我们的应用程序(桌面),在静默模式下执行 testexecute.exe 并卸载应用程序。当我们在本地执行这个 .bat 文件时,它可以正常工作。

但是当我们通过 teamcity 在远程机器(teamcity 代理)上执行这个 .bat 文件时,我得到“'我的应用程序'窗口不可见并且无法激活”错误。我尝试执行的任何 UI 操作都会失败,因为我的应用程序窗口可见。在安装和启动我的应用程序之前它工作正常,但是一旦应用程序启动它就不能执行任何 GUI 任务。这种奇怪的行为几乎没有引起任何怀疑。

  1. 为什么 testexecute 无法与 GUI 交互?
  2. teamcity 用来运行 testexecute.exe 的用户帐户是否需要该计算机上的特殊权限?
  3. 如何在远程机器上执行 TestExecute.exe 以及在执行此操作时需要注意哪些事项?
4

1 回答 1

2
  1. TeamCity 代理作为系统服务工作,无法访问 GUI。这意味着它调用的所有进程也无权访问 GUI。

  2. 您可以在“服务”管理单元中选中代理服务的“运行交互”框。但是,您仍然必须登录机器才能使系统绘制 GUI,这并不能保证 TestExecute 将有足够的权限来访问此 GUI 而不会出现任何问题。

  3. 您需要找到一种将 TeamCity 构建代理作为交互式应用程序而不是作为服务运行的方法。

您还可以在此处找到有关此主题的更多信息。

于 2013-11-14T05:41:15.323 回答