我正在我的一个 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”,或者我是否需要使用任何其他方式来实现此功能?
我尝试用谷歌搜索,但没有得到任何示例的帮助。
提前谢谢大家。
最佳答案
我猜您的意思是将测试结果文档上传到测试中心中运行选项卡下的测试运行结果。
您可以使用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
中的 CreateAttachmentAsync
和 UpdateWorkItemAsync
方法,因为测试用例是一种工作项.
关于c# - 将测试结果文档上传到 Azure 测试计划或 TFS 2018 中的测试中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64160502/