【发布时间】:2018-12-27 18:35:23
【问题描述】:
我正在开发一个新的非 XAML TFS 版本。我的目标是在我们的构建代理 VM 上构建测试项目,将测试二进制文件复制到我们的测试代理 VM 并从测试代理 VM 执行我们的 Selenium Web UI 测试。
我的构建定义过程如下所示:
- 获取来源
- NuGet 安装程序
- MSBuild(构建测试项目)
- Windows 机器复制(将测试项目 bin 文件夹内容复制到测试代理 VM)
- Visual Studio 测试代理部署(将测试代理部署到测试代理虚拟机)
- 运行功能测试
此时,当我开始构建时,包括 Visual Studio 测试代理部署在内的所有步骤都已成功完成。
但是,当运行功能测试任务开始执行时,我们会看到以下控制台输出:
正在准备任务执行处理程序。
执行 powershell 脚本: D:\tfsbuild-2_work_tasks\RunVisualStudioTestsusingTestAgent_d353d6a2-e361-4a8f-8d8c-123bebb71028\1.0.52\RunDistributedTests.ps1
DistributedTests:环境 WinRm 协议 HTTP。
DistributedTests:为选定的测试程序集创建运行 以下参数
DistributedTests:SourceFilter:***Test*.dll TestCaseFilter:
DistributedTests:运行标题:[运行标题]
DistributedTests:是自动化的:是的
DistributedTests:测试设置 id:[测试设置 id]
DistributedTests:构建位置:[TestProjectLocation]
DistributedTests:构建 ID:[构建 ID]
DistributedTests:测试配置映射:
DistributedTests:使用 Id [run#] 排队的测试运行
DistributedTests:测试运行“[run#]”处于“InProgress”状态
Run Functional Tests 任务继续尝试执行直到超时,在 TFS 控制台输出中显示 DistributedTests: Test run '[run#]' is in 'InProgress' 状态。
DTAExecutionHost.exe 日志文件为每个相应的控制台输出显示以下条目:
DTAExecutionHost.exe 信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync:获取 测试代理 19 的命令 日期时间=2018-07-19T14:36:27.6387445Z
Web 方法运行:[https://.../test/Agents/19/Commands/0] (GET)0[测试]
Web 方法响应:[https://.../test/Agents/19/Commands/0] (GET)0[测试] 153 毫秒
DTAExecutionHost.exe 信息:0: TestExecutionServiceCommandQueueListener:DispatchAsync 命令 Microsoft.TeamFoundation.Test.WebApi.TestExecutionServiceCommand 已收到。 日期时间=2018-07-19T14:36:27.7794911Z
DTAExecutionHost.exe 信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync : TestExecutionCommand 收到无。重试。 日期时间=2018-07-19T14:36:27.7794911Z
DTAExecutionHost.exe 信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync :队列不 成立。延迟 50000 毫秒。 日期时间=2018-07-19T14:36:27.7794911Z
在我的 Visual Studio 测试代理部署任务中,选择的协议是 HTTP,运行 UI 测试复选框已勾选,更新测试代理复选框未勾选。
在 Visual Studio 测试代理部署任务期间,空白 DTAExecutionHost.exe 控制台窗口在测试代理 VM 上打开;此窗口在测试运行尝试期间保持打开状态。
在本地机器上的 Visual Studio 中发现并按预期执行项目中的所有测试。
我最近几天阅读了许多关于此问题的博客、帖子和讨论帖,但到目前为止还没有找到解决问题的方法。请协助;欢迎任何和所有见解和建议。
更新日期:2018 年 8 月 21 日
此问题仍然存在。下面提供的答案似乎解决了问题,但问题返回,起初间歇性地(我已经成功执行),现在每个构建的测试执行步骤都超时。
我已将以下答案标记为正确。
【问题讨论】:
标签: selenium tfsbuild mstest functional-testing