无法使用rallyapi打印测试集中的测试用例



我的想法是更新测试集中的测试用例结果。但我无法获得测试集中的的测试用例。我试着进入测试集并获得测试用例,在那里我可以查询每个测试

RallyRestApi restApi=新的RallyRestApi(新的URI("https://rally1.rallydev.com"),"username","pass");restApi.setApplicationName("CrudExample");

    QueryRequest testSetRequest = new QueryRequest("TestSet");
    testSetRequest.setFetch(new Fetch(new String[]{"Name","TestCases","FormattedID"}));
    testSetRequest.setQueryFilter(new QueryFilter("FormattedID", "=", "TS346"));
    QueryResponse testSetQueryResponse = restApi.query(testSetRequest);
    if(testSetQueryResponse.wasSuccessful()){
    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").getAsJsonObject().get("_ref"));
       // int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonArray().size();
        GetRequest getRequest = new GetRequest("https://rally1.rallydev.com/slm/webservice/v2.0/TestSet/15150807/TestCases");
        GetResponse getResponse = restApi.get(getRequest);
        JsonObject obj = getResponse.getObject();
       System.out.println(obj.getAsString());
        int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonObject().get("Count").getAsInt();
        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"));
             }
        }
    }
    }
        else {
            String[] createErrors;
            createErrors = testSetQueryResponse.getErrors();
            System.out.println("Error occurred creating Test Case: ");
            for (int i=0; i<createErrors.length;i++) {
                System.out.println(createErrors[i]);
            }
        }

输出:

成功:true尺寸:1名称:"预验收自动回归"ref:rally1.ralydev.com/lm/webservices/v.20/testset/1515087667测试用例:"rally.rallydev.com/slm/webservices/v2.0/测试集/151508767/TestCases

而不是这个:

int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonObject().get("Count").getAsInt();
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"));
 }

使用此:

if(numberOfTestCases>0){
  QueryRequest testCaseRequest = new QueryRequest(testSetJsonObject.getAsJsonObject("TestCases"));
  testCaseRequest.setFetch(new Fetch(new String[] {"Name", "Results", "FormattedID"}));
  //load the collection
  JsonArray testCases = restApi.query(testCaseRequest).getResults();
  for (int j=0;j<numberOfTestCases;j++){
     System.out.println(testCases.get(j).getAsJsonObject().get("FormattedID").getAsString());
   }
}

最新更新