So rufen Sie Testfälle ab, die mit dem Test-Set verknüpft sind

Ich habe versucht, den bereitgestellten Code für auszuführenjar 2.0.2 und jetzt für2.0.4 Beide Male erhielt einen Fehler in der Zeile:int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonArray().size();

Exception in thread "main" java.lang.IllegalStateException: This is not a JSON Array. at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:106) at GetTCofTS.main(GetTCofTS.java:50)

Ich kann diesen Fehler beheben (da es sich wirklich nicht um ein Array handelt, das zurückkommt), aber mein Problem wird dadurch nicht gelöst, dass ich versuche, nicht nur die Anzahl der mit dem aktuellen TestSet verknüpften TestCases zu ermitteln, sondern auch eine Liste der TestCases - Zumindest ihre formatierte ID. Ist es eine Tasche bei der Rallye?

public class GetTCofTS {

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

    String host = "https://rally1.rallydev.com";

    String username = "[email protected]";
    String password = "secret";

    String applicationName = "RESTExampleFindTestCasesOfTestSet";
    String workspaceRef = "/workspace/1111";
    String projectRef = "/project/2222";
    String wsapiVersion = "1.43";


    RallyRestApi restApi = null;
    try {
        restApi = new RallyRestApi(
                new URI(host),
                username,
                password);
        restApi.setApplicationName(applicationName); 

        QueryRequest testSetRequest = new QueryRequest("TestSet");
        testSetRequest.setWorkspace(workspaceRef);
        restApi.setWsapiVersion(wsapiVersion);
        testSetRequest.setFetch(new Fetch(new String[] {"Name", "TestCases", "FormattedID"}));

        testSetRequest.setQueryFilter(new QueryFilter("Name", "=", "someTS"));

        QueryResponse testSetQueryResponse = restApi.query(testSetRequest);
        System.out.println("Successful: " + testSetQueryResponse.wasSuccessful());
        System.out.println("Size: " + testSetQueryResponse.getTotalResultCount());
        for (int i=0; i<testSetQueryResponse.getResults().size();i++){
            JsonObject testSetJsonObject = testSetQueryResponse.getResults().get(i).getAsJsonObject();
            System.out.println("Name: " + testSetJsonObject.get("Name") + " ref: " + testSetJsonObject.get("_ref").getAsString() + " Test Cases: " + testSetJsonObject.get("TestCases"));
            int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonArray().size();
            System.out.println(numberOfTestCases);
            if(numberOfTestCases>0){
                  for (int j=0;j<numberOfTestCases;j++){
                  System.out.println(testSetJsonObject.get("TestCases").getAsJsonArray().get(j).getAsJsonObject().get("FormattedID"));
                 }
            }

        }

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage