我需要在迭代中创建新的测试集,并且已经根据格式化的ID为迭代指定了对象ID。我使用以下代码来创建TestSet。但是它没有给出任何结果“Errors: Object read: Object not found for Object ID: null”
JsonObject createTestCase = new JsonObject();
createTestCase.addProperty("Name", "New Test Set");
createTestCase.addProperty("DefectStatus", "NONE");
createTestCase.addProperty("TaskStatus", "NONE");
createTestCase.addProperty("TestCaseStatus", "ALL_RUN_ALL_PASSING");
createTestCase.addProperty("Iteration", findIterationObjectId("TestProject-PI-2-Iteration 1"));
CreateRequest createRequest = new CreateRequest("testset", createTestCase);
CreateResponse createResponse = null;
try{
createResponse = restApi.create(createRequest);
if (createResponse.wasSuccessful()) {
String createReference = createResponse.getObject().get("_ref").getAsString();
}
} catch(Exception e){
//error
}
根据格式化的ID获取迭代的对象ID
private String findIterationObjectId(String iterationFormattedID) {
QueryRequest iterationRequest = new QueryRequest("Iteration");
iterationRequest.setFetch(new Fetch("ObjectID"));
iterationRequest.setQueryFilter(new QueryFilter("Name", "contains", iterationFormattedID));
QueryResponse testSetQueryResponse = null;
try {
testSetQueryResponse = restApi.query(iterationRequest);
if (testSetQueryResponse.wasSuccessful() && testSetQueryResponse.getResults().size() > 0) {
String objectId = testSetQueryResponse.getResults().get(0).getAsJsonObject().get("ObjectID").toString();
return objectId;
} else {
//error
}
} catch (IOException | NullPointerException e) {
//error
}
}
发布于 2018-02-28 04:10:49
在wsapi中,当你设置对象关系时,你总是使用它们的ref uri,而不仅仅是对象id。参照的格式为/<type>/<objectid>
。
因此,在您的情况下,这应该是可行的:
createTestCase.addProperty("Iteration", "/iteration/" + findIterationObjectId("..."));
https://stackoverflow.com/questions/48986890
复制相似问题