Jira Xray import/feature API更新Cucumber测试异常及优化建议
Jira Data Center Xray Cucumber导入API问题解决方案
一、Scenario标签匹配不更新已有测试的问题
问题原因
Xray的/rest/raven/1.0/import/feature API默认匹配策略为测试标题 + Feature文件路径,而非优先通过Scenario的@Jira-key标签关联已有测试。第一次调用时,若标签关联逻辑未触发,会创建新测试放入orphans文件夹;第二次调用时因标题和文件名匹配到新创建的测试,才会执行更新。
解决方案
- 指定匹配策略为KEY:在API请求体中添加
matchStrategy: "KEY"参数,强制Xray通过Scenario标签中的Jira issue key匹配已有测试用例。同时确保updateExisting: true参数开启,示例请求体:
{ "feature": "你的Cucumber Feature完整内容", "updateExisting": true, "matchStrategy": "KEY" }
- 验证标签与关联配置:
- 确保Scenario的标签是纯Jira测试用例key(如
@ABCD-1987),无额外字符,且该key对应的issue是Xray中的Test类型issue。 - 检查Xray项目设置,确认已开启“允许通过Cucumber标签关联测试用例”的选项(路径:Jira项目设置 > Xray > 测试导入配置)。
- 确保Scenario的标签是纯Jira测试用例key(如
- 排查orphans关联逻辑:若仍出现orphans,可手动将orphans中的测试与已有测试用例关联,之后再调用API时会自动匹配更新。
二、Scenario Outline的Examples独立测试需求
解决方案
- API请求添加拆分参数:在导入请求中加入
splitScenarios: true参数,Xray会将Scenario Outline的每个Examples行拆分为独立的测试用例,每个测试用例对应一组参数,匹配Cucumber的执行逻辑及结果上报规则。示例:
{ "feature": "你的Scenario Outline内容", "splitScenarios": true, "updateExisting": true }
- 全局项目配置:若需所有导入都生效,可在Xray项目设置中开启“拆分Scenario Outline的Examples为独立测试用例”选项,无需每次调用API传递参数。
- 配合Cucumber结果格式:确保Cucumber运行时生成的测试结果(如JSON格式)为每个Example生成独立的测试条目,这样Xray在导入结果时能精准关联到拆分后的测试用例。
内容的提问来源于stack exchange,提问作者Aoblfazel Salaah
相关产品推荐
相关产品推荐

