【问题标题】:How to access VSTS work items from testing code which running on V2.x VSTS agent?如何从运行在 V2.x VSTS 代理上的测试代码访问 VSTS 工作项?
【发布时间】:2017-07-13 07:24:28
【问题描述】:

构建成功后,我们在构建代理 (V1.105.xxx) 上运行 E2E 自动化测试。测试代码利用 Visual Studio 单元测试框架访问 VSTS 工作项,以使用数据驱动方法加载测试数据(每个测试用例方法链接到一个测试用例工作项):

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.Tes‌​tCase","https://myaccount.vi‌​sualstudio.com/Defau‌​ltCollection;MyProje‌​ct";, "1111111", DataAccessMethod.Sequential)

我们在交互模式下使用 PAT auth 运行 V1.x 构建代理,如下所示:

C:\agent\agent\VsoAgent.exe /Login:e2etest,xxxxxxxxxxxxxxxxxxxx;AuthType=PAT

但是我们找不到一种方法来运行具有 PAT 身份验证的 V2.x 代理以访问 VSTS 工作项。

V2.x 代理是否仍然支持它?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    使用 PAT 配置构建代理时,PAT 令牌仅用于代理的初始配置。更多信息,可以参考Communication

    关于交互模式,如果缓存账户无法访问vsts或者没有缓存账户,在配置或运行构建代理时会提示登录窗口让你进行身份验证。您需要更改此用户的权限。

    您可以尝试在版本控制管理页面中将此用户的读取权限设置为拒绝,队列构建需要下载该源并检查结果,构建将不再启动。

    【讨论】:

    • 对不起,我没有明白你的意思。你的意思是对于V2.x代理,如果我运行“run.cmd”命令,它会提示登录窗口,它还支持PAT auth type?
    • @Youxu 不,运行“run.cmd”命令时如果没有有效的缓存凭证会提示登录窗口。配置代理中使用的 PAT 仅用于配置。也适用于 V1.XXX,the credentials are used to perform the pool administration changes and are not used later by the agent too.
    • 谢谢!我通过使用本地管理员帐户运行 V2.x 代理服务解决了这个问题。 (之前,我使用本地服务帐户运行它)
    • 当然:) 在我在新回复中总结解决方案之前,您能帮我理解为什么使用本地管理员运行代理有效吗?代理注册是否将 PAT 令牌存储在某处,并且本地管理员帐户使用该令牌访问 VSTS 工作项?顺便说一句:我们利用 Visual Studio 的 UT 框架来编写数据驱动的测试用例,例如:[DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase","myaccount.visualstudio.com/DefaultCollection;MyProject", "1111111", DataAccessMethod.Sequential)]跨度>
    • @Youxu 访问VSTS时可以为当前用户缓存凭证。所以你需要先连接到VSTS,然后在同一个账号下运行驱动测试,它会使用缓存的凭证来访问资源。
    【解决方案2】:

    总结问题及解决方案:

    根据 starain 的 cmets,在旧 V1.x 代理中,关于从我们的测试代码访问 VSTS 工作项,这与我们用于在交互模式下运行代理的 PAT 令牌无关。实际上,我们使用我们曾经用来连接到 VSTS 的 VM 的本地管理员帐户运行代理,并且凭据被缓存。测试代码只是使用缓存的凭据来访问 VSTS 工作项。

    所以 V2.x 的解决方案很简单,只需使用本地管理员帐户运行代理服务即可。无需在交互模式下运行。

    感谢 starain 的大力帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多