api - 无法通过 API 将测试运行状态更新为已完成

标签 api testing curl azure-devops

我们一直在将 curl 与 VSTS/Azure API v5.1 结合使用来创建测试运行、发布测试结果以及将测试运行设置为“已完成”状态已有很长一段时间。

在过去的几周里,我们将测试运行状态从“进行中”修补为“已完成”的请求没有得到落实。

(但我们可以使用相同的请求来更新其他测试运行属性,例如“comment”的值)

文档仍然提到为状态提供可接受的值:

https://learn.microsoft.com/en-us/rest/api/azure/devops/test/runs/update?view=azure-devops-rest-5.1#updating-started-date

您能否通过 API 完成测试?谢谢

curl -k -H "Content-Type: application/json" -H "Authorization: Basic {token}" --request PATCH -d "{'state':'Completed','build':{'id': 0},'comment':'an updated comment'}" https://dev.azure.com/etc/etc/_apis/test/runs/{testrunID}?api-version=5.1

最佳答案

我可以通过 REST API 成功地将状态更新为 Completed:

PATCH https://dev.azure.com/{organizaion}/{project}/_apis/test/runs/{runid}?api-version=5.1

Request Body:
{
  "state": "Completed"
}

但它只更新了测试运行状态,如果结果不是Passed,那么Completed状态附近会有一个三角感叹号。 因此,要完全更新状态,我们必须将测试结果 outcome 更新为 Passed :

PATCH https://dev.azure.com/{organization}/{project}/_apis/test/runs/{runid}/Results?api-version=5.1

Request body:
[
  {
    "id": 100000,
    "outcome": "Passed"
  }
]

enter image description here

关于api - 无法通过 API 将测试运行状态更新为已完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58410118/

相关文章:

ios - 下载 Gifv 文件以在 Swift 中的 AVPlayer 中使用

node.js - Cloudinary异步等待一次上传多个图像,然后保存到 Node js中的数组

c++ - 如何自定义 Google 测试失败消息?

php - 使用 XDebug 跟踪 PHP Web 服务页面

c++ - : `CURLcode' does not name a type 的 libcurl API 升级问题

php - 是否可以在类中使用 cURL 回调函数?

c# - 在 GoDaddy 服务器上发出请求之前,API 会停止工作

javascript - 我如何使此代码每5分钟自动运行一次,以使即使关闭计算机电源,视频标题也与 View 匹配?

ruby-on-rails - 返回无效模型进行测试

PHP:保留静态方法并保持可测试性