c# - 将测试结果文档上传到 Azure 测试计划或 TFS 2018 中的测试中心

标签 c# azure azure-devops azure-pipelines tfs-2018

我正在我的一个 C# 库中开发一个 API,用于将测试结果文档(例如日志文件、捕获的屏幕截图或任何 zip 文件)从本地文件夹上传到 Test 测试计划下所需的测试用例编号中心。 我正在使用 TFS 2018。

任何人都可以帮我编写代码片段来实现此功能。

目前我可以使用以下代码行与服务器建立连接:

        VssClientCredentials vssClientCred = new VssClientCredentials();
        vssClientCred.Storage = new VssClientCredentialStorage();
        VssConnection connection = new VssConnection(new Uri("TestHubServerURL"), vssClientCred);

        TestManagementHttpClient tManageHttp = connection.GetClient<TestManagementHttpClient>();

        TestResultDocument tdoc = new TestResultDocument();
        TestResultDocument tRun = tManageHttp.PublishTestResultDocumentAsync(tdoc, ProjectName, TestRunID).Result;

但现在我陷入困境,我没有办法实现“PublishTestResultDocumentAsync”,或者我是否需要使用任何其他方式来实现此功能?

我尝试用谷歌搜索,但没有得到任何示例的帮助。

提前谢谢大家。

最佳答案

我猜您的意思是将测试结果文档上传到测试中心运行选项卡下的测试运行结果。

enter image description here

您可以使用CreateTestRunAttachmentAsync方法将测试结果文档上传到其测试运行中。请参阅下面的示例:

string teamProjectCollectionUrl = "http://tfs2018:8080/tfs/DefaultCollection";
string Project = "projectName";
VssConnection _connection = new VssConnection(new Uri(teamProjectCollectionUrl), winCred);

TestManagementHttpClient tManageHttp = _connection.GetClient<TestManagementHttpClient>();
string path = "C:\\test\\image.png";
string stream = Convert.ToBase64String(File.ReadAllBytes(path));

TestAttachmentRequestModel att = new TestAttachmentRequestModel(stream, "pic.png", "", null);

var res = tManageHttp.CreateTestRunAttachmentAsync(att, Project, "runId").Result;

如果您想上传测试结果文档到特定测试用例的结果。您可以使用 CreateTestResultAttachmentAsync 方法。

var res = tManageHttp.CreateTestResultAttachmentAsync(att, Project, "runId", "resultId").Result;

如果您尝试将测试结果文档上传到测试中心测试计划下所需的测试用例编号。您可能需要使用 Microsoft.TeamFoundation.WorkItemTracking.WebApi 中的 CreateAttachmentAsyncUpdateWorkItemAsync 方法,因为测试用例是一种工作项.

关于c# - 将测试结果文档上传到 Azure 测试计划或 TFS 2018 中的测试中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64160502/

相关文章:

c# - "Object reference not set to an instance of object"回调错误

c# - 如何在 LINQ 查询中放置条件 WHERE 子句

python - 无法使用python创建azure链接服务

azure - 通过 CLI 使用选项在 Azure DevOps 中创建拉取请求

c# - WPF VSTS 应用程序卡在 VS 凭据提示上

c# 如何登录谷歌阅读器

c# - asp : no file is created when logging a message 中的 Log4Net

c# - 有没有办法将 blob 从本地存储模拟器复制到远程 azure 存储?

azure - Databricks-connect 测试 : TypeError: expected str, 字节或 os.PathLike 对象,而不是 NoneType

Azure Pipeline Secret 环境变量标记为未定义