Я хочу автоматизировать добавление новых тестовых случаев в HP-ALM с помощью REST API. Я не нашел ничего в документации, чтобы помочь мне достичь этого, и мне было интересно, добился ли кто-нибудь еще успеха в этом.
Добавление тестовых случаев в HP-ALM с помощью REST API
Ответы (2)
Документация по API, предоставляемая через ALM, очень полезна.
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>
Я создал небольшой модуль для отправки запросов REST в HP ALM с помощью python. Например, я использую следующую команду:
myCreate = self.nSession.post(entUrl, headers=self.header, data=xml_data)
После того, как правильный сеанс установлен, я использую простое действие POST. Значение в скобках соответственно:
entUrl = '{0}/rest/domains/{1}/projects/{2}'.format(self.server, self.domain, self.project) + вы должны добавить объект, который хотите создать --> тесты например.
{server}/qcbin/rest/domains/{domain}/projects/{project}/tests
headers — это словарь, содержащий все заголовки, необходимые для поддержания соединения открытым.
данные содержат формат файла xml или JSON со всей информацией для создания теста (например)
Надеюсь, это поможет другим пользователям (поскольку вопрос довольно старый). Хорошего дня.