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

Rally: Java: I have few test folders inside a test folder and all folders have test cases. How to get all the test cases using java api

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

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"));   

如果我打印响应中的所有测试用例..它只给出 测试用例 1,测试用例 2..... 测试用例 5

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

谢谢, 文卡特斯

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

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

如果你有超深层次的测试文件夹,这很快就会变得笨拙,但对于你提到的情况应该没问题...

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

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