在TFS 2015中运行Selenium功能测试vNext重复“InProgress”并最终超时

时间:2016-09-22 19:28:01

标签: selenium tfs

我正在尝试使用TFS 2015上的vNext构建定义中的Run Functional Test步骤运行Selenium测试,测试项目的源代码构建在TFS服务器上并复制到运行Windows 8.1的远程计算机上。但是,当运行单元测试时,TFS控制台中的重复消息“测试处于状态'InProgress'”没有任何反应。在远程计算机上的DTAExecutionHost日志文件中,重复以下行(日志文件末尾的片段)。

运行Web方法:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试]  Web方法响应:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试] 15毫秒  V,3872,21,2016 / 09 / 22,13:45:05.769,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener:DispatchAsync  W,3872,21,2016 / 09 / 22,13:45:05.769,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:TestExecutionCommand收到时为None。重试它。  W,3872,21,2016 / 09 / 22,13:45:05.769,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:未找到队列。延迟50000毫秒。  V,3872,18,2016 / 09 / 22,13:45:55.773,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:获取测试代理的命令Microsoft.TeamFoundation.Test.WebApi.TestAgent  Web方法运行:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试]  Web方法响应:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试] 15毫秒  V,3872,19,2016 / 09 / 22,13:45:55.788,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener:DispatchAsync  W,3872,19,2016 / 09 / 22,13:45:55.788,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:TestExecutionCommand收到时无。重试它。  W,3872,19,2016 / 09 / 22,13:45:55.788,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:未找到队列。延迟50000毫秒。  V,3872,17,2016 / 09 / 22,13:46:45.792,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:获取测试代理的命令Microsoft.TeamFoundation.Test.WebApi.TestAgent  Web方法运行:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试]  Web方法响应:[https://.com/tfs/DefaultCollection/_apis/test/Agents/19/Commands/0](GET)0 [测试] 16毫秒  V,3872,16,2016 / 09 / 22,13:46:45.808,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener:DispatchAsync  W,3872,16,2016 / 09 / 22,13:46:45.808,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:TestExecutionCommand收到时无。重试它。  W,3872,16,2016 / 09 / 22,13:46:45.808,KLPC-607V \ DTAExecutionHost,TestExecutionServiceCommandQueueListener.DispatchAsync:未找到队列。延迟50000毫秒。  I,4076,1,2016 / 09 / 22,14:48:08.685,158348745970,DTAExecutionHost.exe,Main.TryReadAndCacheVssCredentials获取令牌信息  I,4076,1,20 / 09 / 22,14:48:08.841,158350330678,DTAExecutionHost.exe,与令牌服务通信https:// :ttt/DefaultCollection  W,4076,1,20 / 09 / 22,14:48:10.060,158362406863,DTAExecutionHost.exe,服务任务失败。重试尝试10。  W,4076,1,20 / 09 / 22,14:48:13.106,158392951673,DTAExecutionHost.exe,服务任务失败。重试尝试9。  W,4076,1,20 / 09 / 22,14:48:16.121,158423022807,DTAExecutionHost.exe,服务任务失败。重试尝试8。

我在“测试代理部署”步骤中启用了“交互”选项,如下所示: Test Agent Deployment Configuration Step

欢迎任何反馈!

1 个答案:

答案 0 :(得分:1)

我在运行功能测试任务中运行Selenium测试时遇到了很多困难,但最终还是使用了大量的反复试验。

首先,如果我是你,我会尝试在您想要测试的机器上安装交互式代理,并确保它在VS Test测试任务的本机上本地运行。如果是,那么您可以缩小问题的范围。

我使用的Selenium测试也需要指向它运行的DLL(我相信它们在我们的例子中是NUnit)。因此,根据task,我创建了一个仅指定testadapterspath tag的运行设置文件(如果在RM中,请确保将dll包含在drop中)。当指向runsettings文件时,请确保指向构建/发布代理上的位置,而不是测试代理位置(这让我有点欺骗)。

然后,如果您遇到DTAExecutionHost崩溃的问题(尝试双击安装在C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE中的exe),就像我一样我想你仍然需要通过这个GitHub post与微软联系,以便他们向你发送补丁。

更新:我还注意到错误指向" https://.com/ ..."也许它没有正确找到你的TFS实例。我会尝试通过代理池和VS Test任务在本地运行测试,然后查看是否仍然提供相同的错误。

这可能无法直接解决您的问题,但可能会让您朝着正确的方向前进。希望它有所帮助!