You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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 > 测试导入配置)。
  • 排查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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 14:52:35