【发布时间】:2016-02-18 09:34:24
【问题描述】:
我使用 TestAgent 部署任务和实际的“使用测试代理进行测试”任务在 vNext 构建系统上设置了构建定义。 构建代理是我们公司域中的虚拟机,测试在本地工作组中的另一台虚拟机上运行。 我在 TestAgent 部署任务中选中了“交互过程”复选框,因为我的测试启动了一个桌面应用程序并使用 Ranorex UI 自动化与桌面应用程序交互。
到目前为止,测试代理的部署工作正常。 当我运行构建定义时,我还可以看到测试代理进程(DTAExecutionHost)、vstest 进程和桌面应用程序的进程。奇怪的是,当我通过远程桌面或 vmware 远程控制台登录时,我看不到桌面应用程序的 UI。
【问题讨论】:
-
您是如何启动桌面应用程序的?我通过“System.Diagnostics.Process pr = System.Diagnostics.Process.Start("calc.exe");”启动应用程序在测试过程中,当我通过远程桌面远程登录时,可以显示应用程序 ui。
-
我做了一个简单的例子,它只是通过 System.Diagnostics.Process.Start("calc.exe") 启动计算器。我得到相同的结果:我在任务管理器中看到 calc.exe 使用我当前登录的用户名,但计算器的 UI 没有显示在桌面上
-
我看到“DTAExecutionHost”在“交互式进程”未选中且 UI 未显示时运行。检查“互动过程”并在选中“互动过程”并显示UI显示时运行“DTaAgentexecutionservice”。您可以检查“Visual Studio 测试代理部署”步骤的设置吗?
-
出于测试目的,我未选中“交互式过程”组合框。然后 TestAgentConfiguration Powershell 脚本尝试安装 DTaAgentExecutionService。这将失败并显示日志消息“服务安装失败。错误:0”。
-
您可以下载最新的测试代理并手动安装到远程机器上。然后使用 TestAgent Deployment Task 配置交互模式。
标签: c# testing automated-tests tfs-2015