我有一个自定义报告,其中包含自动化测试的测试结果。现在,我希望能够将一些测试用例的数据传输到HP ALM,但它们需要在特定的测试集中。
我找不到使用HP ALM的REST API指定在何处以及如何执行此操作的方法。
我已经能够登录/注销并查询HP ALM。但是我没有找到如何使用restcall插入数据。
以下是我对POST / logout进行POST调用的功能
try{
responseText = "";
requestp = new HttpPost(URL);
for(int i = 0; i<headerValues.size();i++){
requestp.setHeader(headerNames.get(i), headerValues.get(i));
}
StringEntity input = new StringEntity(XML);
input.setContentType("text/xml");
requestp.setEntity(input);
response = client.execute(requestp);
rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
responseText += line;
}
return responseText;
}catch(Exception e){
e.printStackTrace();
return "";
}
答案 0 :(得分:0)
要将结果发布到ALM,您需要4件事 在ALM测试实验室部分您需要创建
Test_set_folder
|_ Test set
|_ Test instance 1 ( They are test cases in ALM test plan)
|_ Test instance 2
|_ Test instance 3
然后基于测试实例,您将创建测试运行,在这里您将插入结果
创建测试集文件夹
你需要post
到http://qcurl/rest/test-set-folder
这将创建带有和id的test-set-folder(响应应该有id)
现在保留该ID
创建测试集
在发布有效负载时,使用与test-set-folder
相同的方法创建测试集应该在之前的调用中返回一个字段parent-id= test-set-folder-id
。这将返回test-set
创建测试集实例
http://qcurl/test-instances
使用相同的策略,您可以创建test-set-instances,确保有效负载在之前的调用中返回cycle-id=<test-set-id>
创建试运行
http://qcurl/runs
使用cycle-id=test-set-id
和testcycl-id=test-instance-id
发布数据。这可确保运行与先前的测试集相关联。您可以将status
值设置为not completed
这将返回该测试实例的运行ID
将结果(PUT)结果发送回ALM
现在完成此操作后,您需要使用结果更新结果
确保您现在向同一次运行发送put
个请求
http://qcurl/run/<id>
status=passed
或failed
希望这有帮助