【问题标题】:How to Run UI Test by TFS2015?如何通过 TFS2015 运行 UI 测试?
【发布时间】:2015-10-01 06:23:45
【问题描述】:

我将我的 TFS-2013 升级到 TFS-2015,然后通过 3 个步骤定义新的构建定义

  1. MSBuild
  2. Visual Studio 测试代理部署
  3. Visual Studio 测试 使用测试代理

我选择了第二步的测试组并添加了用户名和密码 第三步。我选择了包含测试 DLL 的测试组和测试放置文件夹,并添加了包含编码 UI 测试方法的 DLL 文件名来测试程序集。

当我尝试部署测试代理时,我发现了这个日志:

[debug]调用 Invoke-DeployTestAgent DistributedTests:开始在测试机器上部署和配置测试代理。分布式测试: 提供的输入是: DistributedTests:机器:TestPC3 DistributedTests:用户名:user123 DistributedTests:机器组 名称:testui DistributedTests:作为进程运行:True DistributedTests: 自动登录:True DistributedTests:禁用屏幕保护程序:True DistributedTests:代理位置: \user-pc\drop_Location\vstf_testagent.exe DistributedTests:更新 测试代理:True DistributedTests:将测试代理作为 DataCollection 运行 only : False DistributedTests: 安装测试代理的脚本路径 在远程机器上: G:\agentui\tasks\DeployVisualStudioTestAgent\1.0.2\TestAgentInstall.ps1 DistributedTests:在远程配置测试代理的脚本路径 机器: G:\agentui\tasks\DeployVisualStudioTestAgent\1.0.2\TestAgentConfiguration.ps1 DistributedTests:检查测试代理是否存在的脚本路径 安装在远程机器上: G:\agentui\tasks\DeployVisualStudioTestAgent\1.0.2\CheckTestAgentInstallation.ps1 DistributedTests:创建 DTL 客户端 DistributedTests:获取 机器组名称 = testui 项目 = TestBuildLifeCycle DistributedTests:得到名称为 = testui 项目 = 的机器组 TestBuildLifeCycle DistributedTests:清理机器上的标签 DistributedTests:删除机器上的标签“Microsoft-AgentsForVS” 'TestPC3' DistributedTests:从机器名获取机器列表 已完成 DistributedTests:更新环境资源 TestAgent 标记 DistributedTests:测试代理正在复制到: C:\Users\userFolder\AppData\Local\Temp\2c15a489-7765-4a41-b78e-09197ee5d2c8\vstf_testagent.exe DistributedTests:准备从 C:\Users\userFolder\AppData\Local\Temp\2c15a489-7765-4a41-b78e-09197ee5d2c8\vstf_testagent.exe 到 $env:SystemDrive\TestAgent DistributedTests:设置复制任务 代理:TestPC3 DistributedTests:任务所在的机器总数 CopyFilesToTestAgent 需要运行:1 DistributedTests:任务 正在运行机器“TestPC3”上的“CopyFilesToTestAgent” DistributedTests:机器“TestPC3”上的任务“CopyFilesToTestAgent” 完全的。 DistributedTests:机器的任务“CopyFilesToTestAgent” TestPC3 的状态:分布式测试失败:任务 机器 TestPC3 的日志的“CopyFilesToTestAgent”: System.AggregateException:无法在 机器。有关错误的详细信息,请参阅下面的日志。一个东西 在指定路径 C:\Users\J3CA7~1.JSH 不存在。

我使用管理员凭据并通过安装代理手册解决了此问题,但需要使其能够编辑代理 我注意到该过程尝试将测试代理复制到 appData 中的临时文件夹,然后尝试将此代理复制到 c:\testAgent 但它失败了

【问题讨论】:

  • 你能告诉我诊断页面上的详细构建日志文件吗?

标签: tfs msbuild tfs-2015


【解决方案1】:

如果您正在运行编码 UI 测试,则必须将构建代理配置为交互式运行。在您尝试使用构建过程运行测试之前,请确保它们可以在您计划使用的构建服务器上运行。

有几点需要注意:

准备

  1. 确保将您的解决方案和测试文件签入版本控制。

  2. Microsoft Visual Studio 需要安装在构建服务器上以用于以下场景:要运行单元测试或编码 UI 测试,您必须安装 Visual Studio Professional 或更高版本

  3. 许多测试和测试操作(包括代码 UI 测试)要求您在构建代理上安装与您的团队在其开发计算机上使用的 Visual Studio 版本相同

以交互模式运行构建服务器

  1. 确定将充当构建服务帐户的用户帐户。构建服务帐号必须:

    • 成为构建服务器上 Windows 管理员组的成员。
    • 成为您团队项目集合中构建服务帐户组的成员。
    • 对您计划在构建定义中指定的放置文件夹(如果有)拥有更改和读取权限。
  2. 在“构建服务属性”对话框中,选择Stop the service

  3. 在 Run the Service as 下,选择 Change,然后指定构建服务帐户的凭据。

  4. 选择Run the Service interactively

  5. 选择Start,然后选择OK

  6. 让构建服务帐户保持登录到构建服务器。

更多详情及截图:https://msdn.microsoft.com/en-us/library/ms181712(v=vs.120).aspx#interactive

【讨论】:

  • 感谢您的回复,但此屏幕截图与 tfs 2013 相关,在 tfs 2015 中,我使用交互式构建代理并选择测试机器,它应该下载测试代理表单网站,但在日志中失败我发现了这个异常“DistributedTests:机器TestPC3.idscan.com的错误的任务'CopyFilesToTestAgent':System.AggregateException:无法在机器上创建工作目录。有关错误的详细信息,请参阅下面的日志”我无法检测到问题
  • @Tama,你能告诉我诊断页面上的详细构建日志文件吗?
  • @Vicky - MSFT 我将日志添加到我的问题中,请检查更新
【解决方案2】:

在第 2 步(部署测试代理)中,您需要启用“交互式”选项。

更多详情:https://github.com/Microsoft/vso-agent-tasks/blob/master/Tasks/DeployVisualStudioTestAgent/README.md

【讨论】:

  • 我检查了交互式复选框,但是当我尝试部署测试代理时,我得到了这个异常“DistributedTests:机器TestPC3.idscan.com的任务'CopyFilesToTestAgent'错误:System.AggregateException:无法创建工作目录在机器上。有关错误的详细信息,请参阅下面的日志“我无法检测问题出在哪里指定路径 C:\Users\J3CA7~1.KAH 处的对象不存在。 +在 line:5 char:17
  • 希望您在这台电脑上启用 WinRM。
  • 而且这个路径看起来很奇怪,好像里面有FAT32文件系统。我不确定是否可以在该环境中执行 UI 测试。无论如何,请检查执行 testagent 的用户的权限。它必须是本地管理员。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 2015-04-07
相关资源
最近更新 更多