2017-06-15 211 views
1

我需要将测试结果添加到VSTS中的测试用例。我是新来的VSTS和不知道哪里出了问题我的代码将测试结果添加到VSTS中的测试运行(测试用例)

var ur = new Uri("https://{myaccount}.visualstudio.com"); 
VssCredentials cr = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "XXXXX")); 
var connection = new VssConnection(ur, cr); 
var testClient = connection.GetClient<TestManagementHttpClient>(); 
int testpointid = 123; 
string teamProject = "myproj"; 
RunCreateModel run = new RunCreateModel(name: "name123", plan: new Microsoft.TeamFoundation.TestManagement.WebApi.ShallowReference("123"), pointIds: new int[] { testpointid }); 
TestRun testrun = testClient.CreateTestRunAsync(run, teamProject).Result; 
Microsoft.TeamFoundation.TestManagement.WebApi.ShallowReference("100000") }; 
TestCaseResult caseResult = new TestCaseResult() { State = "Completed", Outcome = "passed", Id = 100000 }; 
var testResults = testClient.UpdateTestResultsAsync(new TestCaseResult[] { caseResult }, teamProject, testrun.Id).Result; 
RunUpdateModel runmodel = new RunUpdateModel(state: "Completed"); 
TestRun testRunResult = testClient.UpdateTestRunAsync(runmodel, teamProject, testrun.Id, runmodel).Result; 
Console.WriteLine("Success"); 
Console.ReadKey(); 

我发现this question相似,但力得到答案。

注意:

我没有找到选项来创建测试套件,然后测试用例。只是直接创建了测试用例。是否需要创建测试套件?如果是这样,怎么样?

+0

我的代码很相似,我去t ** AggregateException **错误。有人可以帮助我们吗? – Shalem

+0

有人尝试通过API提供 'https:// {instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results?api-version = {version}' – Shalem

回答

1
 try 
     { 
      var u = new Uri("https://{My Account}.visualstudio.com"); 
      VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "PAT")); 
      var connection = new VssConnection(u, c); 
      var testClient = connection.GetClient<TestManagementHttpClient>(); 
      int testpointid = 1; 
      string teamProject = "MyProjectName"; 
      RunCreateModel run = new RunCreateModel(name: "TestCase Name", plan: new Microsoft.TeamFoundation.TestManagement.WebApi.ShallowReference("TestPlan Id"), pointIds: new int[] { testpointid }); 
      TestRun testrun = testClient.CreateTestRunAsync(run, teamProject).Result; 

      TestCaseResult caseResult = new TestCaseResult() { State = "Completed", Outcome = "passed", Id = 100000 }; 

      var testResults = testClient.UpdateTestResultsAsync(new TestCaseResult[] { caseResult }, teamProject, testrun.Id).Result; 
      RunUpdateModel runmodel = new RunUpdateModel(state: "Completed"); 
      TestRun testRunResult = testClient.UpdateTestRunAsync(runmodel, teamProject, testrun.Id, runmodel).Result; 

     } 
     catch (AggregateException e) 
     { 
      Console.WriteLine(e.InnerException.Message); 

     } 

注:点配置 1.安装微软的Team Foundation Server扩展客户端软件包安装 级封装Microsoft.TeamFoundationServer.ExtendedClient -Version 15.112.1 2.安装测试管理器扩展 - 创建测试计划,测试套件在测试标签 3. testpointid是测试用例否[测试用例在测试计划中的顺序/索引],而不是测试用例ID 4.名称是Testcase名称,testrun id是通过testpointid自动捕获的[1,2,3 ...]

+0

@starain - 非常感谢。你的建议帮助我取得了胜利。我已在注释部分总结了您的建议。 – Shalem

1

测试套件是必需的。有一些方法来创建测试套件:

方法1:

  1. 安装Test Manager extension
  2. 创建测试计划,测试套件在测试选项卡

方法2:使用MTM来创建测试计划,测试套件:Organizing Test Cases Using Test Suites。注意:MTM包含在Visual Studio(例如VS Ultimate,Premium,Enterprise(2015)和Visual Studio测试专业版)中。

方式3:

  1. 转到积压板
  2. 添加测试

enter image description here

  • 转到测试页并检查测试计划,套件
  • enter image description here

    +0

    Nice article to create Test套房和测试计划 – Shalem

    相关问题