首页 > 解决方案 > 使用 rest api 将 VSTS 测试用例状态更新为 PASS / FAIL

问题描述

我想使用 rest api 更新 VSTS 中的测试用例状态。

根据测试用例 ID,我想将测试用例更新为 PASS 或 FAIL。

可以从我可以传递状态的地方使用哪个rest api?

谢谢

标签: azure-devopsazure-devops-rest-api

解决方案


您可以更新the last test result特定的测试用例,然后outcome将反映在测试用例上。

  1. 首先获取最后的测试运行 ID。(使用 REST API -获取测试运行列表
  2. 使用 REST API 更新特定的测试结果。

    PATCH https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results?api-version=5.0-preview.5
    

    请求正文

    [
      {  
        "id": 100000,
        "state": "Completed",
        "outcome": "Passed"
      }
    ]
    

有关详细信息,请参阅更新测试结果以进行测试运行

您可以参考这个类似的线程:在 Tfs 中的测试套件中更改测试用例的结果字段


更新:

如果您只想将测试用例标记为PassedFailed生成 RUNID,则可以使用以下 REST API:(在请求正文中提供 PlanID、套件 ID 和测试点 ID)

POST http://SERVER:8080/tfs/DefaultCollection/{ProjectName or ID}/_api/_testManagement/BulkMarkTestPoints

Content-Type : application/json

Request Body:

{"planId":36,"suiteId":38,"testPointIds":[5],"outcome":3}
  1. 您可以从门户网站获取Plan Id, (参考下面的截图Suite Id
  2. 您可以使用以下 REST API 来获取testPointIds

    GET http://SERVER:8080/tfs/DefaultCollection/{ProjectName or ID}/_apis/test/Plans/36/Suites/38/points
    
  3. 对于outcome2意味着Passed3意味着Failed

在此处输入图像描述


推荐阅读