2016-08-01 23 views
0

Ich habe versucht, den Testfall als JSON-Objekt zu bekommen. Es wird Testordnerinformation als eine uri haben. Wie kann ich den Namen dieses Testordners erhalten, ohne dieses uri erneut zu treffen?Ich habe einen Testfall in Rallye. Ich möchte den Namen des Testordners erhalten, in dem Testfall mit Java-API

Wenn traf ich den URI es gibt mir die TFxxx, Das ist, was ich direkt brauchen ..

Ich versuchte, als jsonObj.get("TestFolder.Name").toString(); bekommen, die einfach null zurückgibt.

Irgendwelche Hilfe?

+0

'jsonObj.getString (" TestFolder.Name ")'? – Manu

+0

als 'jsonObj.getString (" TestFolder.Name ")' ist null das gibt 'jsonObj.getString (" TestFolder.Name "). ToString()' auch als null –

Antwort

1

Im folgenden Code ich für einen Testfall abfragen, die in einem Testfolder passiert zu sein, und dann so in den Ordner durchqueren:

testCaseJsonObject.get("TestFolder").getAsJsonObject().get("Name") 

Hier ist ein vollständiges Beispiel, das Testfolder Namen zurückgibt:

public class GetTestFolder { 

    public static void main(String[] args) throws Exception { 

     String host = "https://rally1.rallydev.com"; 
     String applicationName = "Example: get Folder of TestCase"; 
     String projectRef = "/project/12352608219"; 
     String apiKey = "_abc123"; 
     RallyRestApi restApi = null; 
     try { 
      restApi = new RallyRestApi(new URI(host),apiKey); 
      restApi.setApplicationName(applicationName); 
      QueryRequest testCaseRequest = new QueryRequest("TestCase"); 
      testCaseRequest.setProject(projectRef); 

      testCaseRequest.setFetch(new Fetch(new String[] {"FormattedID","Name","TestFolder"})); 
      testCaseRequest.setQueryFilter(new QueryFilter("FormattedID", "=", "TC47")); 
      testCaseRequest.setScopedDown(false); 
      testCaseRequest.setScopedUp(false); 

      QueryResponse testCaseResponse = restApi.query(testCaseRequest); 
      System.out.println("Successful: " + testCaseResponse.wasSuccessful()); 
      for (int i=0; i<testCaseResponse.getResults().size();i++){ 
       JsonObject testCaseJsonObject = testCaseResponse.getResults().get(i).getAsJsonObject(); 
       System.out.println("Name: " + testCaseJsonObject.get("Name") + " FormattedID: " + testCaseJsonObject.get("FormattedID") + " TestFolder: " + testCaseJsonObject.get("TestFolder").getAsJsonObject().get("Name")); 

      } 
     } finally { 
      if (restApi != null) { 
       restApi.close(); 
      } 
     } 
    } 
}