我正在研究新的非XAML TFS构建。我的目标是在构建代理VM上构建测试项目,将测试二进制文件复制到测试代理VM并从测试代理VM执行Selenium Web UI测试。
我的构建定义过程如下:
在这一点上,当我启动构建时,到目前为止(包括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:是自动的:True
DistributedTests:测试设置ID:[测试设置ID]
DistributedTests:构建位置:[TestProjectLocation]
DistributedTests:内部版本ID:[内部版本ID]
DistributedTests:测试配置映射:
DistributedTests:ID为[run#]排队的测试运行
DistributedTests:测试运行'[run#]'处于'InProgress'状态
“运行功能测试”任务将继续尝试执行直到超时,直到显示DistributedTests:TFS控制台输出中的测试运行“ [run#]”处于“正在进行”状态。
DTAExecutionHost.exe日志文件为每个相应的控制台输出显示以下条目:
DTAExecutionHost.exe信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync:获取 测试代理命令19 DateTime = 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 收到。 DateTime = 2018-07-19T14:36:27.7794911Z
DTAExecutionHost.exe信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync: TestExecutionCommand收到的结果为None。重试。 DateTime = 2018-07-19T14:36:27.7794911Z
DTAExecutionHost.exe信息:0: TestExecutionServiceCommandQueueListener.DispatchAsync:不排队 找到了。延迟50000毫秒。 DateTime = 2018-07-19T14:36:27.7794911Z
在我的Visual Studio测试代理部署任务中,选定的协议为HTTP,选中了“运行UI测试”复选框,未选中“更新测试代理”复选框。
在Visual Studio测试代理部署任务期间,空白DTAExecutionHost.exe控制台窗口在测试代理VM上打开;在尝试运行期间,此窗口保持打开状态。
项目中的所有测试都会在本地计算机上的Visual Studio中发现并按预期执行。
最近几天,我阅读了许多有关此问题的博客,帖子和讨论主题,但到目前为止,仍未找到解决该问题的方法。请协助;欢迎任何见解和建议。
更新:2018年8月21日
此问题仍然存在。下面提供的答案似乎可以解决问题,但问题最初是断断续续地返回的(我已经成功执行过),现在每个构建的测试执行步骤都超时了。
我未将以下答案标记为正确。
答案 0 :(得分:0)
通过对设置进行一些更改,我设法使它起作用:
一旦所有更新都已检入到TFS中,则新构建成功完成。程序集中的所有测试均已发现并按预期执行。
在此处查看m00nbeam360.0的贡献:
Running Selenium functional test in TFS 2015 vNext repeats 'InProgress' and eventually times out