在拉力赛项目中,我的测试文件夹结构如下
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子文件夹下的所有测试用例。
谢谢, 卡塔斯
答案 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"));