繁体   English   中英

使用 TFS api 执行(通过/失败)测试用例?

[英]Using TFS api to execute(pass/fail) test cases?

我目前正在开发一个程序以在程序中执行测试用例,并且我查看了如何使用 Team Foundation Server API 创建测试运行和结果? 以及其他各种文章,但仍然遇到很多麻烦。 我的目标是找到具有特定标题和配置的测试用例,执行它并在失败时添加注释。 这只是我一直在搞乱的一些代码

        String server = "http://tfs.net:8080/tfs";
        String project = "Project";
        // Connect to the TeamFoundationServer.
        Console.Write("Connecting to Team Foundation Server {0}...\n", server);

        TfsTeamProjectCollection projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(server));
        Console.WriteLine("Success!\n");
        Console.WriteLine("getting project {0}...\n", project);

        ITestManagementTeamProject teamProject = projectCollection.GetService<ITestManagementService>().GetTeamProject(project);

        Console.WriteLine("Success!\nGetting test cases...\n\n");
        IEnumerable<ITestCase> testCases = teamProject.TestCases.Query("SELECT [Title] FROM WorkItems WHERE State = 'Ready' AND Title CONTAINS 'Phase 1: test case title'");
        foreach (ITestCase t in testCases)
            Console.WriteLine(t.Title);
        ITestSuiteCollection suites = teamProject.TestSuites.Query("SELECT * FROM TestSuite");



        ITestConfigurationCollection configs = teamProject.TestConfigurations.Query("Select * FROM TestConfiguration WHERE Name='Mainline Android Phone 2.3'");
        ITestConfiguration config = configs[0];

        ITestPlan plan = teamProject.TestPlans.Create();
        plan.Name = "herpa derp";

        ITestSuiteBase suite = teamProject.TestSuites.Find(606);


        Console.WriteLine(plan.Name);
        Console.WriteLine(suite.Title);
        plan.RootSuite.Entries.Add(suite);//Object reference not set to an instance of an object.
        plan.Save();

        suite.TestCases.AddCases(testCases);
        plan.Save();

        ITestRun run = plan.CreateTestRun(false);


        ITestPointCollection points = plan.QueryTestPoints("SELECT * FROM TestPoint");
        foreach (ITestPoint p in points)
        {
            run.AddTestPoint(p, null);
        }
        run.Save();
        ITestCaseResult result = run.QueryResults()[0];
        result.Outcome = TestOutcome.Passed;
        result.Save();

        //wait dood
        Console.Read();

plan.RootSuite.Entries.Add(suite); 那是我得到错误“nullreferenceexception is unhandled”的那一行,它是套件,但对象看起来很好。 如果你能帮忙,请告诉我:)

看起来您可能无法正确访问 teamProject 以查看将其传递给计划所需的所有字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM