【发布时间】:2015-03-12 03:57:54
【问题描述】:
我创建了一个连接到服务器然后获取测试计划的项目,但我在获取测试计划结果(通过、失败和活动测试用例的数量)方面遇到了困难。 下面的代码是我用来获取测试计划的代码。有关如何获得这些计划的测试结果的任何建议?或者如何获得单个测试用例的测试运行结果。我可以过滤掉我想要的测试计划、套件和案例,但我在任何地方都找不到结果。
void GetTestPlans(ITestManagementTeamProject testproject)
{
ITestPlanCollection plans = testproject.TestPlans.Query("Select * From TestPlan");
TreeViewItem root = null;
root = new TreeViewItem();
root.Header = ImageHelpers.CreateHeader(testproject.WitProject.Name, ItemTypes.TeamProject);
TreeMain.Items.Add(root);
foreach (ITestPlan plan in plans)
{
if (plan.Name.Contains("C600 Update"))
{
TreeViewItem plan_tree = new TreeViewItem();
string header = plan.Id + "\t" + plan.Name;
plan_tree.Header = ImageHelpers.CreateHeader(header, ItemTypes.TestPlan);
if (plan.RootSuite != null && plan.RootSuite.Entries.Count > 0)
GetPlanSuites(plan.RootSuite.Entries, plan_tree);
root.Items.Add(plan_tree);
}
}
}
void GetPlanSuites(ITestSuiteEntryCollection suites, TreeViewItem tree_item)
{
foreach (ITestSuiteEntry suite_entry in suites)
{
IStaticTestSuite suite = suite_entry.TestSuite as IStaticTestSuite;
if (suite != null)
{
TreeViewItem suite_tree = new TreeViewItem();
suite_tree.Header = ImageHelpers.CreateHeader(suite.Title, ItemTypes.TestSuite);
GetTestCases(suite, suite_tree);
tree_item.Items.Add(suite_tree);
if (suite.Entries.Count > 0)
GetPlanSuites(suite.Entries, suite_tree);
}
}
}
void GetTestCases(IStaticTestSuite suite, TreeViewItem tree_item)
{
//AllTestCases - Will show all the Test Cases under that Suite even in sub suites.
//ITestCaseCollection testcases = suite.AllTestCases;
//Will bring only the Test Case under a specific Test Suite.
ITestSuiteEntryCollection suiteentrys = suite.TestCases;
foreach (ITestSuiteEntry testcase in suiteentrys)
{
ITestCase testCase = testcase.TestCase as ITestCase;
TreeViewItem test = new TreeViewItem();
string header = testcase.Id + "\t" + testcase.Title;
test.Header = ImageHelpers.CreateHeader(header, ItemTypes.TestCase);
tree_item.Items.Add(test);
GetResults(testCase);
}
}
void GetResults(ITestCase testCase)
{
// Would like to get the results for each test case here
// If there are several test runs, only the latest counts
}
【问题讨论】:
-
也许我弄错了,但计划不是可以执行零次、一次或多次吗?每次执行都会有自己的结果,不是吗?
-
先获取测试计划运行,然后在每次运行中获取结果
-
我想获得测试计划中每个测试用例的测试结果。如果一个测试用例还没有运行,它的状态将是“活动的”。否则,它是我感兴趣的上次运行测试的结果。