0

我想将文件添加到新测试执行的证据中。

在此处输入图像描述

如何使用Cucumber JSON Multipart将文件上传到证据输入?

Xray 插件仓库:jenkinsci/xray-connector-plugin

有我的多部分 JSON:

{
  "fields": {
    "project": {
      "key": "${projectKey}"
    },
    "summary": "Test Execution for Cucumber results (Generated by job: ${BUILD_TAG})",
    "description": "Test Execution for Cucumber results (Generated by job: ${BUILD_TAG})",
    "issuetype": {
      "id": "12453"
    }
  },
  "xrayFields": {
    "testPlanKey": "${testPlanKey}",
    "environments": [
      "${env}"
    ]
  }
}

我应该在这个 json 中添加什么来将文件上传到证据输入中?

4

1 回答 1

1

Cucumber JSON 多部分端点(与其他端点类似)不提供明确指定该字段的方法。Xray JSON 格式(以及标准或多部分端点)将允许您指定该信息;但是,如果您要上传 Cucumber 相关结果,这种格式并不是最合适的格式。

您有两个选择,因为在这种情况下,我想我们可以排除使用 Xray JSON 格式:a) 使用 Cucumber JSON(标准或多部分端点)并利用 Xray 可以处理您可以嵌入的附件(即屏幕截图)这一事实在黄瓜步骤实施中(请参阅Xray 文档中简要提及的示例)。您应该查看 cucumber 的 API 以了解如何在 API 方面做到这一点。正如我们所说,在 Java 中,我认为你必须在一个钩子中做这样的事情

 scenario.attach(data, "image/png", "My screenshot"); 

这里的例子。

b) 您可以使用您当前的方法,然后使用 GraphQL 更新相应测试运行的证据。这将很难实现,因为您需要知道测试执行问题密钥,然后是它的 id,然后使用正确的 GraphQL 请求来更新该测试执行中特定测试运行的证据……虽然这不是微不足道的。

于 2021-11-23T13:56:43.940 回答