Python с интеграцией JIRA XRAY
Я могу использовать пакет jira с python и upadate или получить подробную информацию о проблеме от JIRA. Но я хочу знать, как импортировать результаты выполнения теста в XRAY JIRA, используя запросы post в python. Я уже сделал это, используя JAVA и XRAY REST API с файлом json для тестов на огурцы.
Не могу понять, что нужно сделать в Python для ручных тестов. Обратите внимание, что требуется обновить статус теста вручную как PASS/FAIL при выполнении теста в XRAY при автоматическом подходе с использованием python.
0 ответов
У меня была та же проблема, что и у вас.
Вот решение.
Во-первых, используйте 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" и т. Д. Не забудьте авторизоваться!