-2
@Xray(requirement = "QA", test = "TM-3553" ,ProjectName="QA")
@Test()
public void GETGradeForGuestStudent() {

}

为什么执行没有被映射到 TM-3553 而它总是被映射到 映射到 jira的 TM-3601

我的测试报告.xml-pastebin.com/iHc4hJmD

在詹金斯的后期构建操作中,我调用了这个 sh 命令

token=$(curl -H "Content-Type: application/json" -X POST --data @"./cloud_auth.json" https://xray.cloud.xpand-it.com/api/v2/authenticate| tr -d '"')
curl -H "Content-Type: application/xml" -X POST -H "Authorization: Bearer $token" --data @"./target/surefire-reports/testng-results.xml" https://xray.cloud.xpand-it.com/api/v2/import/execution/testng?projectKey=TM&testExecKey=TM-3563"
4

1 回答 1

0

您共享的 TestNG XML 报告似乎具有正确的格式,详见此处。测试问题键被映射到<attributes>元素下名为“test”的属性,该属性又位于<test-method>元素内部。我更改了您的 XML 报告,因此对 TM-3553 的第一次引用是我现有的测试之一……它在我的场景中运行良好。

因此,我认为 Xray 团队需要对您的场景进行更深入的分析,以弄清楚为什么 Xray 端没有进行这种关联。让我补充一下,您共享的注释不正确,因为“需求”必须是问题键,并且“ProjectName”在导入过程中不存在/不受 Xray 支持。因此,需要更改:

@Xray(requirement = "QA", test = "TM-3553" ,ProjectName="QA")

类似于:

@Xray(requirement = "TM-1243", test = "TM-3553")

关于 TestNG XML 报告的另一个注意事项是,它包含对同一测试方法的多个引用GETGradeForGuestStudent。我乍一看觉得很奇怪,但这取决于您运行测试的方式。

于 2021-05-20T11:31:08.900 回答