微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何在VSTS构建期间以编程方式将附件添加到测试结果中?

我正在寻找一种方法来将我自己的附件添加到测试结果中,以便在构建完成后我可以看到它们….

enter image description here

我想在编译期间以及测试失败后以编程方式添加这些内容.附件将是截图.

这可能吗?

快速浏览了一下API参考,但这看起来与关注添加现有测试’运行’的附件,或者在构建方面是创建构建定义并触发它们.我可能错过了它,但我无法找到如何在测试任务完成期间或之后立即添加代码中的附件.

谢谢,

解决方法

You could get test run of the build first and then retrieve the test result from the test run

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();
    }
}

一旦获得测试结果ID失败,您可以使用Rest API to attach a file to test result

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 }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐