2016-09-26 3 views
0

Ich versuche, die Ergebnisse der Testfälle in tfs apiNicht immer Testfall Ergebnisse (bestanden/nicht bestanden/gesperrt) von TFS API

in Testfallmanager zu bekommen sehe ich diese Ergebnisse: https://gyazo.com/72ccfcef96d1718907ea702d7a8bbfc9

aber wenn ich versuche, diese Ergebnisse in meinem Test-Fall erhalten util ich keine Ergebnisse erhalten kann:

var testResults = project.TestResults.ByTestId(7987); 
foreach (var result in testResults) 
{ 
    var topIteration = result.Iterations.FirstOrDefault(); 
    if (topIteration == null) 
     continue; 
    // do something 
} 

weil topIteration immer null entspricht.

Wie bekomme ich korrekte Ergebnisse (bestanden/fehlgeschlagen/blockiert) von tfs api?

Antwort

0

Nach Ihrem Code scheint, Sie wollen Testergebnisse für bestimmte Testfall mit TFS API abrufen. Sie können versuchen, die folgenden Schritte zu befolgen, um das zu erreichen, was Sie benötigen.

Connect zu TFS Server/Sammlung/Team-Projekt

Uri tfsUri = new Uri("http://servername:8080/tfs/collectionname"); 
teamProjectCollection = new TfsTeamProjectCollection(tfsUri); 

iTestManagementService = teamProjectCollection.GetService<ITestManagementService>(); 
tfsConnectedTeamProject = iTestManagementService.GetTeamProject("Team Project Name"); 

Sobald auf TFS-Server verbunden ist, APIs aufrufen Testergebnisse für einen bestimmten Testfall zu erhalten. Im Folgenden Codezeile werden alle Ergebnisse mit bestandene Prüfung erhalten assoziiert Fall Id und diese zurückgegebene Liste nicht

sortiert
var testResults = tfsConnectedTeamProject.TestResults.ByTestId(7987); 

Dann können Sie diese mit folgenden Code sortieren mit LastUpdated Eigenschaft ITestCaseResult und es wird wieder sortiert Sie Liste der Test Ergebnis.

Wenn Sie nur die neuesten Testergebnisse von der Ergebniserfassung benötigen, dann ist unten Code. Verwenden Sie die oben sortierte Liste und rufen Sie den obersten Datensatz ab.

var latestTestResult = resSort.First<ITestCaseResult>(); 
0

Überprüfen Sie den Code unten:

TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("url")); 
tfs.EnsureAuthenticated(); 

IBuildServer tfsBuildServer = tfs.GetService<IBuildServer>(); 

IBuildDefinition buildDef = tfsBuildServer.GetBuildDefinition("TeamProject", "DefinitionName"); 

var BuildUri = buildDef.LastBuildUri; 

ITestManagementService testManagement = (ITestManagementService)tfs.GetService(typeof(ITestManagementService)); 
ITestManagementTeamProject testManagementTeamProject = testManagement.GetTeamProject("TeamProject"); 
IEnumerable<ITestRun> testRuns = testManagementTeamProject.TestRuns.ByBuild(BuildUri); 


    foreach (ITestRun testRun in testRuns) 
    { 
     foreach (ITestCaseResult result in testRun.QueryResults()) 
      { 
      Console.WriteLine(string.Format("TestCaseID:{0}", result.TestCaseTitle.ToString())); 
      Console.WriteLine(string.Format("TestCaseOutcome:{0}", result.Outcome.ToString())); 
      } 
     } 
Verwandte Themen