python - Python 与 JIRA XRAY 集成
问题描述
我可以将 jira 包与 python 一起使用,并从 JIRA 更新或获取问题详细信息。但我想知道如何使用 python 中的 post 请求将测试执行结果导入 XRAY JIRA。我已经使用 JAVA 和 XRAY REST API 以及用于黄瓜测试的 json 文件完成了这项工作。
无法弄清楚在 python 中为手动测试做同样的事情。请注意,要求是在使用 python 的自动化方法中,在 XRAY 中的测试执行中将手动测试状态更新为 PASS/FAIL。
解决方案
这是解决方案。
首先,使用 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"]})
这将为我们与此测试执行关联的每个测试创建一个唯一的 id。我们将需要这个唯一的 id 来更新执行状态。
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”等。不要忘记进行身份验证!
推荐阅读
- javascript - ReactJS 浏览器 Websocket 连接到 SpringBoot Websocket
- flutter - 颤振:将旧项目迁移到零安全
- arrays - 如何从以下 json 数组类型创建线串几何?
- r - 如何在R中对时间序列进行频率过滤
- android - Android Google Play 计费测试
- php - 计算多列PHP中的多个值
- python - Pandas DataFrame 到 MySQL 表:AttributeError:'Engine' 对象没有属性'cursor'
- c++ - 给定 T 接受的任何 initializer_list 的构造函数
- pandas - 熊猫从行中的字符串中旋转/堆叠/重塑
- javascript - 如何检查 JEST 中的多个值?(或运算符)