Rally:Java:我在测试文件夹中有很少的测试文件夹,所有文件夹都有测试用例。如何使用java api获取所有测试用例

时间:2016-05-26 14:14:30

标签: java rally

在拉力赛项目中,我的测试文件夹结构如下

TestFolderParent1
    testcase1, testcase2..... testcase5
    TestFolderChild1
          testcase10, testcase11..... testcase15     
    TestFolderChild2
          testcase20, testcase21..... testcase25

使用java api过滤如下:

QueryRequest testSetRequest = new QueryRequest("TestCases");
testSetRequest.setFetch(new Fetch(new String[] { "Name","FormattedID"}));
testSetRequest.setQueryFilter(new QueryFilter("TestFolder.Name", "=", "TestFolderParent1"));   

如果我从响应中打印所有测试用例..它只给出 testcase1,testcase2 ..... testcase5

如何获取TestFolderParent1子文件夹下的所有测试用例。

谢谢, 卡塔斯

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以在查询中添加另一个子句以说明祖父母的情况:

QueryFilter children = new QueryFilter("TestFolder.Name", "=", "TestFolderParent1");
QueryFilter grandChildren = new QueryFilter("TestFolder.Parent.Name", "=", "TestFolderParent1");
testSetRequest.setQueryFilter(children.Or(grandChildren));

如果你有一个超级深层次的测试文件夹,这会很快变得笨拙,但对于你提到的情况应该可以正常工作......

答案 1 :(得分:1)

您的代码足够好,但稍作修改即可获取所需的结果。 TestFolder.Parent.Name将从该特定文件夹中获取所有测试用例,而不管子文件夹的数量。

QueryRequest testSetRequest = new QueryRequest("TestCases");
testSetRequest.setFetch(new Fetch(new String[] { "Name","FormattedID"}));
testSetRequest.setQueryFilter(new QueryFilter("TestFolder.Parent.Name", "=", "TestFolderParent1"));