如何从测试在V2.x VSTS代理上运行的代码访问VSTS工作项?

时间:2017-07-13 07:24:29

标签: azure-devops

我们在构建成功后在构建代理(V1.105.xxx)上运行E2E自动化测试。测试代码利用Visual Studio Unit Test框架访问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 /登录:e2etest,xxxxxxxxxxxxxxxxxxxx; AuthType = PAT

但我们找不到使用PAT auth运行V2.x代理的方法,以便访问VSTS工作项。

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

2 个答案:

答案 0 :(得分:0)

使用PAT配置构建代理时,PAT令牌仅用于代理的初始配置。有关详细信息,请参阅Communication

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

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

答案 1 :(得分:0)

总结问题和解决方案:

Per starain在旧版V1.x代理中的评论中,关于从我们的测试代码访问VSTS工作项,它与我们用于以交互模式运行代理的PAT令牌无关。实际上我们使用VM的本地管理员帐户来运行代理,我们曾经用它来连接到VSTS,并且缓存了凭证。测试代码仅使用该缓存凭证来访问VSTS工作项。

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

感谢starain的大力帮助!