使用v1.0导入Cucumber/Karate JSON至X-ray时响应不符合预期
导入Cucumber/Karate测试结果到X-Ray的响应异常问题
问题现象
尝试将Cucumber/Karate测试执行结果以JSON格式导入X-Ray时,返回的响应仅包含testExecIssue和空数组infoMessages,未出现预期的testIssues和success字段,且测试结果未成功关联到生成的测试执行工单(XXXXXX-123)。返回响应如下:
{"testExecIssue": { "id": "some number", "key": "XXXXXX-123", "self": "https://<jira host>/rest/api/2/issue/4611911" }, "infoMessages": [] }
排查与解决方向
1. 检查JSON格式的合规性
X-Ray对Cucumber测试结果的JSON结构有明确要求,重点确认:
- 每个
feature/scenario的id或name需与Jira中已存在的测试用例标识完全匹配(X-Ray依赖此字段关联测试用例) - 测试结果的status字段必须是X-Ray支持的有效值:
PASS、FAIL、SKIP、PENDING等 - 确保JSON无语法错误(如缺失逗号、引号不闭合、嵌套结构错误)
2. 确认测试执行与测试用例的关联关系
返回的testExecIssue说明测试执行工单已创建,但测试结果未关联,可能是:
- 该测试执行工单(
XXXXXX-123)未预先添加对应的测试用例 - 导入请求未指定testPlanKey等参数,导致X-Ray无法自动关联测试用例到新创建的测试执行中
3. 排查Karate结果转Cucumber JSON的过程
若你是通过Karate生成报告后转换为Cucumber格式,需确认:
- 转换工具(如Karate内置的转换功能)是否完整保留了scenario的唯一标识(如id)
- 转换后的JSON是否丢失了测试步骤的结果状态或关键元数据
4. 验证API权限与端点
- 确认使用的X-Ray API端点符合你的Jira版本(云版与服务器版API路径不同)
- 检查请求所用账号是否拥有编辑测试执行和关联测试结果的权限
验证方法
- 使用X-Ray官方提供的Cucumber JSON示例发起导入请求,验证是否能返回预期的testIssues和success字段
- 对比你的JSON与官方示例的结构差异,重点修正标识字段和结果状态部分
- 手动在Jira中将目标测试用例添加到
XXXXXX-123测试执行,再重新导入测试结果,观察是否能成功关联
内容的提问来源于stack exchange,提问作者SACHIN SHANBAG
相关产品推荐
相关产品推荐

