【问题标题】:Interactive testing with TestAgent on vNext在 vNext 上使用 TestAgent 进行交互式测试
【发布时间】: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


【解决方案1】:

确保您使用与测试代理所使用的帐户相同的帐户登录远程计算机。

【讨论】:

  • 当我通过 RemoteDesktop 登录时,测试代理已经使用了与我相同的帐户。测试代理似乎被正确配置为交互式进程,因为使用的是 DTAExecutionHost 而不是 DTAExecutionService。
【解决方案2】:

我遇到了类似的问题,即 DTAgentExecutionService 无法安装。我通过在我的测试机器组中提供完整的用户名来修复它,我在以下位置进行了编辑: http://...TfsCollectionUrl/Project/Team/_machines.

对于我的测试虚拟机,我将用户名下的条目从“myUserName”更改为“machineName\myUserName”并重新运行构建,这次运行成功。

仅供参考,我在“Visual Studio 测试代理部署”任务下的“代理配置”中检查了“交互过程”,我可以在通过 Hyper-V 管理器连接到我的测试虚拟机时查看我的 UI 测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2013-02-18
    相关资源
    最近更新 更多