如何通过 REST API 的 TFS 客户端库获取测试 运行 附件列表?
How to get the list of test run attachments via TFS Client Libaries for REST API?
有一种方法 TestManagementHttpClient.GetTestRunAttachmentContentAsync()
,它需要附件 ID 和其他参数,但我找不到一种方法来获取所有附加到测试的文件的列表 运行 所以我想知道是否有解决这个问题的方法?
您可以通过 Rest API 下载测试 运行 附件。更多详情请参考在Test attachments.
中下载测试运行附件
Sample request
目前无法通过 Rest API 直接获取所有附件,您可以在 VSTS User Voice.
上提交功能请求
但是如果你使用.NET Client Libraries,你可以从"ITestRun.Attachments"获取所有附件。参考以下代码:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.TestManagement.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string pu = "http://yourtfsserverurl";
string projectname = "projectname";
int testrunid = 1;//ID of test run
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(pu));
ITestManagementService itms = ttpc.GetService<ITestManagementService>();
ITestManagementTeamProject itmtp = itms.GetTeamProject(projectname);
ITestRun itr = itmtp.TestRuns.Find(testrunid);
foreach (ITestAttachment ita in itr.Attachments)
{
Console.WriteLine(ita.Name);
}
Console.ReadLine();
}
}
}
您可以使用未记录的(遗留的?)API:
http://{server}/{collection}/{Team project}/_api/_testrun/GetTestRunAttachments?testRunId={testid}
这个returns一个数组。请注意,此 API 将来可能会发生变化:
{
"__wrappedArray": [{
"__type": "TestRunAttachmentModel:#Microsoft.TeamFoundation.Server.WebAccess.TestManagement",
"attachmentComment": "",
"attachmentCreationDate": "\/Date(1467360776123)\/",
"attachmentId": 1233,
"attachmentName": "xy 2016-07-01 10_07_03.trx",
"attachmentSize": 6800374
},
{
"__type": "TestRunAttachmentModel:#Microsoft.TeamFoundation.Server.WebAccess.TestManagement",
"attachmentComment": "",
"attachmentCreationDate": "\/Date(1467360782220)\/",
"attachmentId": 1234,
"attachmentName": "xy 2016-07-01 10_05_50.coverage",
"attachmentSize": 7426581
}]
}
希望对您有所帮助
有一种方法 TestManagementHttpClient.GetTestRunAttachmentContentAsync()
,它需要附件 ID 和其他参数,但我找不到一种方法来获取所有附加到测试的文件的列表 运行 所以我想知道是否有解决这个问题的方法?
您可以通过 Rest API 下载测试 运行 附件。更多详情请参考在Test attachments.
中下载测试运行附件Sample request
目前无法通过 Rest API 直接获取所有附件,您可以在 VSTS User Voice.
上提交功能请求但是如果你使用.NET Client Libraries,你可以从"ITestRun.Attachments"获取所有附件。参考以下代码:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.TestManagement.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string pu = "http://yourtfsserverurl";
string projectname = "projectname";
int testrunid = 1;//ID of test run
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(pu));
ITestManagementService itms = ttpc.GetService<ITestManagementService>();
ITestManagementTeamProject itmtp = itms.GetTeamProject(projectname);
ITestRun itr = itmtp.TestRuns.Find(testrunid);
foreach (ITestAttachment ita in itr.Attachments)
{
Console.WriteLine(ita.Name);
}
Console.ReadLine();
}
}
}
您可以使用未记录的(遗留的?)API:
http://{server}/{collection}/{Team project}/_api/_testrun/GetTestRunAttachments?testRunId={testid}
这个returns一个数组。请注意,此 API 将来可能会发生变化:
{
"__wrappedArray": [{
"__type": "TestRunAttachmentModel:#Microsoft.TeamFoundation.Server.WebAccess.TestManagement",
"attachmentComment": "",
"attachmentCreationDate": "\/Date(1467360776123)\/",
"attachmentId": 1233,
"attachmentName": "xy 2016-07-01 10_07_03.trx",
"attachmentSize": 6800374
},
{
"__type": "TestRunAttachmentModel:#Microsoft.TeamFoundation.Server.WebAccess.TestManagement",
"attachmentComment": "",
"attachmentCreationDate": "\/Date(1467360782220)\/",
"attachmentId": 1234,
"attachmentName": "xy 2016-07-01 10_05_50.coverage",
"attachmentSize": 7426581
}]
}
希望对您有所帮助