如有您对TFS(Microsoft Team Foundation Server) API感兴趣, 请您仔细读这个类 也可以随意借鉴 也欢迎您的意见.
在使用Namespace: Microsoft.TeamFoundation之前, 本机需要安装:Team Explorer (http://www.microsoft.com/en-us/download/details.aspx?id=329), 或者直接安装TFS.
安装之后:在 Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0引入Microsoft.TeamFoundation.dll 和 Microsoft.TeamFoundation.Common.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.TeamFoundation.TestManagement.Client;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;
using System.Text.RegularExpressions;
namespace Perfcommand
{
class TestRunProvider
{
// Common
private TeamFoundationServer m_tfsServer;
private TfsTeamProjectCollection m_tfsTeamProjectCollection;
private VersionControlServer m_vcsServer;
private ITestManagementTeamProject m_testManagementTeamProject;
private TeamProject[] m_projects;
private TeamProject m_project;
private ITestPlanCollection m_testPlans;
private ITestPlan m_testPlan;
private Dictionary<string, ITestSuiteBase> m_TestSuiteList;
// Execution use below
private List<ITestPoint> m_TestPoints;
private List<ITestEnvironment> m_TestEnvironments;
private ITestEnvironment m_SelectedTestEnvironment;
private List<ITestSettings> m_TestSettings;
private ITestSettings m_SelectedTestSetting;
private IBuildServer m_buildStore;
private List<IBuildDefinition> m_BuildDefinations;
private IBuildDefinition m_SelectedBuildDefination;
private List<IBuildDetail> m_BuildDetails;
private IBuildDetail m_SelectedBuildDetail;
private TeamFoundationIdentity m_Identity;
// String variables
private string m_tfsServerName;
private string m_teamProjectName;
private string m_testPlanName;
private string m_testEnvironmentName;
private string m_testSettingName;
private string m_buildDifinitionName;
private string m_buildName;
private string m_buildDropFolder;
private string m_queryFilePath;
private string m_BuildFlavor;
private string m_BuildPlatform;
private string m_RunTitle;
//User defined
private List<BuildConfiguration> m_CurrentBuildConfigList;
private BuildConfiguration m_SelectedBuildConfiguration;
/*
public TestRunProvider(string p_tfsServerName, string p_teamProjectName, string p_testPlanName)
{
m_tfsServerName = p_tfsServerName;
m_teamProjectName = p_teamProjectName;
m_testPlanName = p_testPlanName;
try
{
InitializeTFSServer(m_tfsServerName);
InitializeTeamProject(m_teamProjectName);
InitializeTestPlan(m_testPlanName);
}
catch(Exception ex)
{
throw ex;
}
}*/
public TestRunProvider(string p_tfsServerName, string p_teamProjectName, string p_testPlanName, string p_testEnvironmentName,
string p_testSettingName, string p_buildDifinitionName, string p_buildName, string p_queryFilePath,
string p_BuildFlavor = "Debug", string p_BuildPlatform = "Any CPU",
string p_RunTitle = "My test Run", string p_buildDropFolder = "")
{
m_tfsServerName = p_tfsServerName;
m_teamProjectName = p_teamProjectName;
m_testPlanName = p_testPlanName;
m_testEnvironmentName = p_testEnvironmentName;
m_testSettingName = p_testSettingName;
m_buildDifinitionName = p_buildDifinitionName;
m_buildName = p_buildName;
m_queryFilePath = p_queryFilePath;
m_BuildFlavor = p_BuildFlavor;
m_BuildPlatform = p_BuildPlatform;
m_RunTitle = p_RunTitle;
m_buildDropFolder = p_buildDropFolder;
try
{
InitializeTFSServer(m_tfsServerName);
InitializeTeamProject(m_teamProjectName);
InitializeTestPlan(m_testPlanName);
InitializeEnvironments(m_testEnvironmentName);
InitializeTestSettings(m_testSettingName);
InitializeBuilds(m_buildDifinitionName, m_buildName);
InitializeTestPo