首页 > 解决方案 > 检查我的测试计划在管道执行中是否有失败的测试用例

问题描述

在 azure devops 中执行管道时,如何检查我的测试计划中是否有任何测试用例失败?

标签: azureazure-devopsazure-pipelinespipelinetest-plan

解决方案


在 azure devops 中执行管道时,如何检查我的测试计划中是否有任何测试用例失败?

在测试计划中,测试用例没有结果状态(例如失败通过..)。结果状态适用于 中的测试点Test Plan -> Execute tab

在此处输入图像描述

要检查测试计划中是否有失败的测试点,您可以使用 PowerShell 任务来运行 Rest API:测试点 - 获取点测试套件 - 获取计划的测试套件

$token = "PAT"

$url1 = " https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/test/Plans/{TestPlanId}/suites?api-version=5.0"


$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$response1 = Invoke-RestMethod -Uri $url1 -Headers @{Authorization = "Basic $token"} -Method Get -ContentType application/json


$i = 0 

ForEach ($SuitId in $response1.value.id )

{
   $url="https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/testplan/Plans/{TestPlanName}/Suites/$($SuitId)/TestPoint?api-version=6.0-preview.2"
   $response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get -ContentType application/json
   
    ForEach( $outcome in $response.value.results.outcome ) 
    {
     
  
        echo $outcome

        if($outcome -eq  "failed")
        {   
          $i ++
     
    
        }
    
    }

}

echo $i

if ($i -eq 0)
{
  echo "No error"
}

else

{
  echo "##vso[task.logissue type=warning]the error value is $i"
}

结果: 在此处输入图像描述


推荐阅读