2017-06-22 1 views
1

Ich bin in der Lage, Testergebnis auf Testfall in VSTS durch Programm zu aktualisieren. Test Case Result UpdationWie man einzelne Ergebnisse zu jedem Testschritt im Testfall von VSTS/TFS programmatisch hinzufügt/aktualisiert

Nun möchte ich das Ergebnis jedes Testschritts im Testfall aktualisieren. Konnte keine verwandten Informationen finden. Bitte helfen

+0

Sie das Problem mit meiner Lösung lösen Sie? –

+0

@ starain-MSFT - Entschuldigung, für das verzögerte Update. Wir haben Ihre Lösung ausprobiert. Bei Fehler aufgetreten ** TypeLoadException wurde nicht behandelt **. Fehler liest als 'Konnte nicht laden Typ 'Microsoft.TeamFoundation.TFStringComparer' von Assembly 'Microsoft.TeamFoundation.Common' Irgendwelche Vorschläge bitte? –

+0

Verwenden Sie Microsoft Team Foundation Server-Client-Paket? Kannst du ein einfaches Projekt auf dem OneDrive sein? –

Antwort

2

Der einfache Weg ist mit Client-API:

Einfaches Beispiel:

int testpointid = 176; 
      var u = new Uri("https://[account].visualstudio.com"); 
      VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "[pat]")); 
      TfsTeamProjectCollection _tfs = new TfsTeamProjectCollection(u, c); 
      ITestManagementService test_service = (ITestManagementService)_tfs.GetService(typeof(ITestManagementService)); 
      ITestManagementTeamProject _testproject = test_service.GetTeamProject("scrum2015"); 
      ITestPlan _plan = _testproject.TestPlans.Find(115); 
      ITestRun testRun = _plan.CreateTestRun(false); 
      testRun.Title = "apiTest"; 
      ITestPoint point = _plan.FindTestPoint(testpointid); 
      testRun.AddTestPoint(point, test_service.AuthorizedIdentity); 
      testRun.Save(); 
      testRun.Refresh(); 
      ITestCaseResultCollection results = testRun.QueryResults(); 
      ITestIterationResult iterationResult; 

      foreach (ITestCaseResult result in results) 
      { 
       iterationResult = result.CreateIteration(1); 
       foreach (Microsoft.TeamFoundation.TestManagement.Client.ITestStep testStep in result.GetTestCase().Actions) 
       { 
        ITestStepResult stepResult = iterationResult.CreateStepResult(testStep.Id); 
        stepResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed; //you can assign different states here 
        iterationResult.Actions.Add(stepResult); 
       } 
       iterationResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed; 
       result.Iterations.Add(iterationResult); 
       result.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed; 
       result.State = TestResultState.Completed; 
       result.Save(true); 
      } 
      testRun.State = Microsoft.TeamFoundation.TestManagement.Client.TestRunState.Completed; 
      results.Save(true); 

In Bezug auf REST api wird die notwendigen Informationen in actionResults gespeichert von iterationDetails (TestCaseResult.IterationDetails) können Sie versuchen, IterationDetails bis TestCaseResult anzugeben und das Testergebnis zu aktualisieren.

Sie können die Details eines Testergebnisses überprüfen, indem Get a Test Result with DetailInclude mit (detailsToInclude = Iterations)

+0

Wie sieht man den einzelnen Testschritt im Testfall? Ich konnte nur das Endergebnis des Testfalls/Testlaufs in der Ergebnisspalte der Testsuite finden, konnte aber nicht das Testergebnis jedes einzelnen Testschritts finden. –

+2

@srinivasp Viele Möglichkeiten, Testergebnisse zu erhalten: 1. Wie gesagt, mit Get ein Testergebnis mit DetailInclude 2. Web-Zugriff, Test> Läuft> Geben Sie einen Testlauf> Gehen> Testergebnisse> Doppelklicken Sie auf ein Testergebnis> Überprüfen in Details> 3. MTM, MTM öffnen und Verbindung zu TFS herstellen und Testplan auswählen> Test> Tests ausführen> Eine Testsuite auswählen> Einen Testpunkt auswählen> Auf Ergebnisse anzeigen klicken –

+1

Schließlich verwenden Sie [Microsoft Team Foundation Server Extended Client] (https : //www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient/) hat den Fehler behoben. Ich bin in der Lage, das Ergebnis jedes Testschritts im Testfall zu aktualisieren. –

Verwandte Themen