Python с интеграцией JIRA XRAY - PullRequest
0 голосов
/ 07 ноября 2018

Я могу использовать пакет jira с python и upadate или получить подробную информацию о проблеме из JIRA. Но я хочу знать, как импортировать результаты выполнения теста в XRAY JIRA, используя запросы post в python. Я уже сделал это, используя JAVA и XRAY REST API с файлом json для тестов на огурец.

Не могу понять, что нужно сделать в python для ручных тестов. Обратите внимание, что требуется обновить статус ручного теста как PASS / FAIL при выполнении теста в XRAY в автоматическом режиме с использованием python.

1 Ответ

0 голосов
/ 11 апреля 2019

У меня была такая же проблема, как и у вас.

Вот решение.

Во-первых, используйте jira api, чтобы создать новый выпуск типа «Выполнение теста»:

fields_dict = {
    'project': 'AB',
    'summary': 'New execution',
    'description': 'Test execution creation via python',
    'issuetype': {'name': 'Test Execution'}
}

test_execution = jira.create_issue(fields = fields_dict)

Теперь нам нужно связать тесты с выполнением этого теста. Для этого примера давайте свяжем один тест под названием «AB-3». Не забудьте указать детали аутентификации для этого POST. Вы можете связать наборы тестов таким же образом, т. Е. «AB-3» может быть отдельным тестом или набором тестов.

requests.post("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key + "/test", json{"add": ["AB-3"]})

Это создает уникальный идентификатор для каждого теста, который мы связали с выполнением этого теста. Нам понадобится этот уникальный идентификатор для обновления статуса выполнения.

r = requests.get("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key

test_id = r.json()[0]['id']

Если у вас более одного теста, используйте цикл. Я просто подписываюсь на первый пункт, так как знаю, что у нас только один тест.

Затем, чтобы обновить статус выполнения, мы делаем PUT:

requests.put("https://my.jira.com/rest/raven/1.0/api/testrun/" + str(test_id) + "/status?status=PASS")

Вы можете использовать «PASS» или «FAIL» и т. Д. Не забудьте авторизоваться!

...