2017-06-15 213 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

    相關問題