我的想法是更新测试集中的测试用例结果。但我无法获得测试集中的的测试用例。我试着进入测试集并获得测试用例,在那里我可以查询每个测试
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());
}
}