2016-07-26 58 views
1

在我的拉力賽項目中,我有這樣的testfolder結構:如何在Rally Rest toolkit for Java中獲取TestFolders的整個樹?

 
TestFolderGrandGrandParent1 
     TestFolderGrandParent1 
       TestFolderParent1 
         testcase1, testcase2..... testcase5 
         TestFolderChild1 
          testcase10, testcase11..... testcase15  
         TestFolderChild2 
          testcase20, testcase21..... testcase25 
         TestFolderChild3 
          TestFolderGrandChild1 
          testcase20, testcase21..... testcase25 

我已經找到了如何讓測試用例如果我只有2級關係,如父母,子女(see shared link)。 目前,我正在尋找一種方法來獲取整個樹,通過知道第一個文件夾,讓所有底層文件夾遍歷每個文件夾。

回答

1

不幸的是沒有有效的方法來做到這一點。您必須查詢頂級測試文件夾,然後遞歸遍歷樹,在每個級別獲取子項。

+0

感謝您的回答。 –

1

在項目中搜索TestFolders。它將列出該項目中的所有測試文件夾。

RallyRestApi restApi = new RallyRestApi(new URI("https://rally.rallydev.com/"), "_apogjlfdkjglfjlksr23rfdlj"); 
    String wsapiVersion = "v2.0"; 
    String workspaceRef = "/workspace/01245"; 
    String projectRef = "/project/6757552"; 
    if(restApi!=null){ 
     restApi.setWsapiVersion(wsapiVersion); 
     QueryRequest queryRequest = new QueryRequest("TestFolders"); 
     queryRequest.setFetch(new Fetch(new String[] { "Name","FormattedID","TestFolder"})); 

     queryRequest.setWorkspace(workspaceRef); 
     queryRequest.setProject(projectRef); 
     queryRequest.setScopedDown(true); 
     queryRequest.setLimit(Integer.MAX_VALUE); 
     queryRequest.setPageSize(Integer.MAX_VALUE); 

     QueryResponse queryResponse = null; 
     JsonArray jsonarr = new JsonArray(); 
     queryResponse = restApi.query(queryRequest); 
     int responseTotalResultsCount = queryResponse.getTotalResultCount(); 
     jsonarr.addAll(queryResponse.getResults()); 
     int jsonArrSize = jsonarr.size(); 

     for (int i=0; i<queryResponse.getResults().size();i++){ 
      JsonObject testCaseJsonObject = queryResponse.getResults().get(i).getAsJsonObject(); 
      System.out.println(testCaseJsonObject.getAsJsonObject().get("FormattedID")+": "+testCaseJsonObject.getAsJsonObject().get("Name")); 
     } 
    } 
0

考慮到如果沒有重複的文件夾,那麼你需要做的是設置基礎文件夾。

實施例:

new QueryFilter("Name","=","base folder name").and(new QueryFilter("Parent","=","null")) 

然後就可以得到父的基準,並獲得所有的孩子在結果中,並通過它指與以前的父每個輸出迭代直到你導致如[],其表明您在基礎文件夾中,然後從中提取測試用例。

相關問題