2016-07-26 27 views
1

In meinem Rally Projekt habe ich so testfolder Struktur:Wie bekomme ich den gesamten TestFolder-Baum im Rally Rest Toolkit für Java?

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

ich gefunden habe Möglichkeiten, wie Testfälle zu bekommen, wenn ich nur 2 Level Beziehung haben, wie Eltern, Kind (see shared link). Derzeit suche ich nach einer Möglichkeit, den gesamten Baum zu bekommen, indem ich den ersten Ordner kenne, um alle darunter liegenden Ordner durch jeden Ordner zu durchlaufen.

Antwort

1

Leider gibt es keinen effizienten Weg, dies zu tun. Sie müssen nach Testordnern auf oberster Ebene suchen und dann den Baum rekursiv durchlaufen und Kinder auf jeder Ebene abrufen.

+0

Danke für die Antwort. –

1

Suche nach TestFolders in einem Projekt. Es listet alle Testordner in diesem Projekt auf.

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

In Anbetracht der Tatsache, dass, wenn es keine doppelten Ordner, dann, was Sie tun müssen, um den Basisordner festgelegt ist.

Beispiel:

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

Dann können Sie den Bezug des Eltern erhalten, und alle Kinder in Ergebnisse erhalten und durchlaufen sie mit früheren Eltern zu jedem Ausgang beziehen, bis Sie als [] Ergebnis erhalten, die Geben Sie an, dass Sie sich im Basisordner befinden, und extrahieren Sie dann die Testfälle daraus.