使用凭据将vstest结果发布到TFS

时间:2016-03-01 10:21:24

标签: c# powershell tfs ui-testing

问题描述

我们在远程服务器上使用TFS来管理工作项,代码和构建。每天晚上我们所有的代码都会被构建并运行单元测试。但是,我们还想运行一些(SpecFlow)UI测试,但它们依赖于办公室本地网络中的服务。因此,这些测试无法在构建服务器上运行。由于网络限制,我们无法在连接到构建服务器的办公室中运行测试代理或控制器。

我们目前的解决方案是每晚安排一个脚本,该脚本在每晚构建完成后运行。此脚本获取最新的源,运行测试并将结果发布到构建。

问题是虽然这些命令中的大多数都支持用于提供凭据的命令行参数(例如, tf.exe ),但 vstest.exe 却不支持。

当我在命令提示符下以交互方式运行此脚本时,脚本运行正常,直到它到达vstest.exe调用。由于 / logger:tfspublisher 参数,它会要求提供TFS服务器的凭据。第二次在同一个命令提示符下运行脚本时,它不会询问并显然使用保存的凭据。

当此脚本作为计划任务运行时,它当然无法请求凭据,因此测试结果发布失败。

我尝试过的事情

  1. 使用 runas / netonly / user:TFSUser 。这将是很好的,除了我无法提供密码,也不能管它。
  2. 使用CPAU来调用该程序。出于某种原因,它仍然要求提供凭据。这是我使用的命令: cpau.exe -u user -p password -wait -nowarn -ex runtests.bat
  3. 使用CredMan.ps1预先创建凭据。我检查了手动输入时创建了哪些凭据(GENERIC one和DOMAIN_PASSWORD),然后用脚本创建它们。 要求提供凭据,因此必须将其存储在其他位置。
  4. 后续步骤

    我(我认为)需要的是一种将测试结果发布到TFS服务器的方法,它允许我在命令提示符下提供凭据。

    任何想法都将不胜感激!

0 个答案:

没有答案