Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Here is the piece of code to query test run results from MTM 2010 for given build:
Step 1: Get the Build Uri for given Build Name
public Uri GetBuildUri(string BuildName)
{
Uri buildUri = null;
if (string.IsNullOrEmpty(BuildName))
return null;
IBuildServer buildServer = (IBuildServer)(((TfsTeamProjectCollection) <<TeamProjectCollection>> ).GetService(typeof(IBuildServer)));
// create spec instance and apply the filter like build name, date time
IBuildDetailSpec spec = buildServer.CreateBuildDetailSpec(GetProject().Name);
spec.BuildNumber = <<BuildName>>; //Example - "Daily_20110502.4";
IBuildQueryResult buildDetails = buildServer.QueryBuilds(spec);
if (buildDetails != null)
buildUri = (buildDetails.Builds[0]).Uri;
return buildUri;
}
Step 2: Get the TestRun for the given BuildUri
public IEnumerable<ITestRun> GetTestResultsByBuild(ITestManagementTeamProject testManagementTeamProject, Uri BuildUri)
{
if (testManagementTeamProject == null)
return null;
IEnumerable<ITestRun> testRuns = testManagementTeamProject.TestRuns.ByBuild(BuildUri);
return testRuns;
}
Step 3: Loop through the TestRuns to display the Test Case output.
foreach (ITestRun testRun in testRuns)
{
foreach (ITestCaseResult result in testRun.QueryResults())
{
System.Console.WriteLine(string.Format("TestCaseID:{0}",result.TestCaseId.ToString()));
System.Console.WriteLine(string.Format("TestCaseID:{0}",result. Priority.ToString()));
System.Console.WriteLine(string.Format("TestCaseID:{0}",result. TestCaseTitle.ToString()));
System.Console.WriteLine(string.Format("TestCaseID:{0}",result. Outcome.ToString()));
System.Console.WriteLine(string.Format("TestCaseID:{0}",result. DateStarted.ToString()));
System.Console.WriteLine(string.Format("TestCaseID:{0}",result. DateCompleted.ToString()));
}
}