我正在寻找一种添加自己的附件以测试结果的方法,以便在此处构建完成后可以看到它们。
我想以编程方式在构建过程中以及测试失败后添加这些内容。附件将是屏幕截图。
这可能吗?
我快速浏览了一下API参考,但这似乎与将附件添加到现有测试“运行”有关,或者在构建方面是用于创建构建定义并触发它们。我可能错过了它,但是在测试任务完成期间或之后,我找不到如何从代码中添加附件的方法。
谢谢,
class Program
{
static void Main(string[] args)
{
string ur = "https://xxxxxxx/";
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(ur));
//Get build information
BuildHttpClient bhc = ttpc.GetClient<BuildHttpClient>();
string projectname = "Project";
int buildId = x;
Build bui = bhc.GetBuildAsync(projectname,buildId).Result;
//Get test run for the build
TestManagementHttpClient ithc = ttpc.GetClient<TestManagementHttpClient>();
Console.WriteLine(bui.BuildNumber);
QueryModel qm = new QueryModel("Select * From TestRun Where BuildNumber Contains '" + bui.BuildNumber + "'");
List<TestRun> testruns = ithc.GetTestRunsByQueryAsync(qm,projectname).Result;
foreach (TestRun testrun in testruns)
{
List<TestCaseResult> testresults = ithc.GetTestResultsAsync(projectname, testrun.Id).Result;
foreach (TestCaseResult tcr in testresults)
{
Console.WriteLine(tcr.Id);
Console.WriteLine(tcr.Outcome);
}
Console.ReadLine();
}
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
一旦获得失败的测试结果 ID,您可以使用Rest API 将文件附加到测试结果:
POST https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results/{result}/attachments?api-version={version}
Content-Type: application/json
{
"stream": { string },
"fileName": { string },
"comment": { string },
"attachmentType": { string }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |