HP-ALM使用REST API添加测试用例

时间:2015-01-30 21:19:51

标签: testing automated-tests hp-alm

我希望使用REST API自动将新测试用例添加到HP-ALM中。我没有在文档中找到任何帮助我实现这一目标的内容,我想知道其他人是否有任何成功。

2 个答案:

答案 0 :(得分:2)

通过ALM提供的API文档非常有用。

1)验证会话 2)捕获Cookie 3)创建测试(见下文 - 从ALM文档中)

使用您要创建的实体类型并指定相应的字段。

XML示例

POST /qcbin/rest/domains/{domain}/projects/{project}/defects HTTP/1.1
Content-Type: application/xml
Accept: application/xml
Cookie: QCSession=xxx; LWSSO_COOKIE_KEY=xxx

数据

<Entity Type="defect">
<Fields>
<Field Name="detected-by">
<Value>henry_tilney</Value>
</Field>
<Field Name="creation-time">
<Value>2010-03-02</Value>
</Field>
<Field Name="severity">
<Value>2-Medium</Value>
</Field>
<Field Name="name">
<Value>Returned value not does not match value in database.</Value>
</Field>
</Fields>
</Entity>

JSON示例

POST /qcbin/rest/domains/{domain}/projects/{project}/defects HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: QCSession=xxx; LWSSO_COOKIE_KEY=xxx

数据

{"Fields":[{"Name":"detected-by","values":[{"value":"henry_tilney"}]},                {"Name":"creation-time","values":[{"value":"2010-03-02"}]},{"Name":"severity","values":[{"value":"2-Medium"}]},{"Name":"name","values":[{"value":"Returned value not does not match value in database.</ "}]}]}

我用于测试实体的XML示例

<Entity Type="test">
<Fields>
<Field Name="name">
<Value>MY TEST CASE</Value>
</Field>
<Field Name="description">
<Value>Test created from api</Value>
</Field>
<Field Name="owner">
<Value>roglesby</Value>
</Field>
<Field Name = "subtype-id">
<Value>VAPI-XP-TEST</Value>
</Field>
<Field Name = "parent-id">
<Value>6209</Value>
</Field>     
</Fields>
</Entity>

答案 1 :(得分:0)

我创建了一个小模块,使用python将REST请求发送到HP ALM。例如,我使用以下命令:

              function keyup(idd){
                  var searchTerm = $("#tags"+idd).val();
                  $("#sss"+idd+' option').each(function(){
                  if($(this).text().match(searchTerm)){ 
                      $(this).show();
                } 
                else{
                    $(this).hide();
                }
            });
           } 

在建立正确的会话后,我正在使用简单的POST操作。括号中的值分别为:

entUrl =&#39; {0} / rest / domains / {1} / projects / {2}&#39; .format(self.server,self.domain,self.project)+你必须添加您要创建的实体 - &gt;例如测试。

myCreate = self.nSession.post(entUrl, headers=self.header, data=xml_data)

headers是一个字典,其中包含维护连接打开所需的所有标头。

数据包含xml或JSON文件格式,其中包含创建测试的所有信息(例如)

希望这可以帮助其他用户(因为问题很老)。祝你有愉快的一天。