【问题标题】:Insert Testcase in testset and update them with a run在测试集中插入测试用例并通过运行更新它们
【发布时间】:2017-10-19 08:21:03
【问题描述】:

我有一个定制的报告,其中包含自动化测试的测试结果。现在,我希望能够将一些测试用例的数据传输到 HP ALM,但它们需要位于特定的测试集中。

我找不到使用 HP ALM 的 REST API 指定需要在何处以及如何执行此操作的方法。

我已经能够登录/注销并查询 HP ALM。但我不知道如何使用 restcall 插入数据。

以下是我对登录/注销进行 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 "";
    }

【问题讨论】:

  • 要了解端点列表,请在您喜欢的浏览器中输入以下内容>/qcbin/rest/resource-list

标签: java rest api alm


【解决方案1】:

要将结果发布到 ALM ,您需要 4 件事 在 ALM 测试实验室部分您需要创建

  1. 创建测试集文件夹
  2. 创建测试集
  3. 创建测试实例
  4. 最后创建和更新测试运行 --> 这是您发布结果的地方 它的工作方式

Test_set_folder |_ Test set |_ Test instance 1 ( They are test cases in ALM test plan) |_ Test instance 2 |_ Test instance 3

然后根据测试实例创建测试运行并在此处插入结果

创建测试集文件夹

你需要 posthttp://qcurl/rest/test-set-folder 这将创建带有 id 的测试集文件夹(响应应该有 id) 现在保留那个id

创建测试集

当您发布有效负载时,使用与test-set-folder 相同的方法创建测试集应该在之前的调用中返回一个字段parent-id= test-set-folder-id。这将返回测试集的 id

创建测试集实例

http://qcurl/test-instances

使用相同的策略,您可以创建测试集实例,确保有效载荷在之前的调用中返回了 cycle-id=&lt;test-set-id&gt;

创建测试运行

http://qcurl/runs

使用cycle-id=test-set-idtestcycl-id=test-instance-id 发布数据。这可确保运行与先前的测试集相关联。您可以将status 值设置为not completed 这将返回该测试实例的运行 ID

将 (PUT) 结果发送回 ALM

完成此操作后,您需要使用结果更新结果

确保您现在将put 请求发送到同一运行

http://qcurl/run/&lt;id&gt;

status=passedfailed

希望对你有帮助

【讨论】:

  • 太好了,感谢您的回复。您是否有任何示例说明在调用中插入测试实例所需的内容?需要处理哪种布局(xml/json)?
  • Json 正文:{"Fields":[{"Name":"test-id","values":[{"value":"370"}]},{"Name":"cycle-id","values":[{"value":"6"}]},{"Name":"subtype-id","values":[{"value":"hp.qc.test-instance.EXTERNAL"}]}]} 现有测试的测试 ID 这是之前创建的测试集的 ID,现有测试需要附加到该测试集。将此设置为循环ID
  • 只是要明确cycle-id 值是test set 的ID,该测试实例将在其中。不要忘记subtype-id
猜你喜欢
  • 2019-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 2012-05-04
相关资源
最近更新 更多