Протестировано на моей стороне, кажется, что оно недоступно для предыдущих версий API (протестировано на TFS 2017 и 2018, оба не работают).
Документация , упомянутая с api-version=5.0-preview.5
, возможно, она будет доступна в более поздних выпусках.
Однако вы можете фильтровать результаты теста по результатам, используя PowerShell с REST API, см. Образец ниже:
Param(
[string]$collectionurl = "http://server:8080/tfs/DefaultCollection",
[string]$project = "ProjectName",
[string]$testrunID = 223,
[string]$user = "username",
[string]$token = "password"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$baseUrl = "$collectionurl/$project/_apis/test/runs/$testrunID/results?api-version=3.0-preview"
$response = Invoke-RestMethod -Uri $baseUrl -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
$results = $response.value | Where {$_.outcome -eq "Failed"} #| Filter the test results by outcomes
$TestResults = @()
foreach ($result in $results)
{
$customObject = new-object PSObject -property @{
"TestResultID" = $result.id
"projectName" = $result.project.name
"testCaseName" = $result.testCase.name
"startedDate" = $result.startedDate
"completedDate" = $result.completedDate
"outcome" = $result.outcome
"state" = $result.state
"runBy" = $result.runBy.uniqueName
"errorMessage" = $result.errorMessage
}
$TestResults += $customObject
}
$TestResults | Select `
TestResultID,
projectName,
testCaseName,
startedDate,
completedDate,
outcome,
state,
runBy,
errorMessage #|export-csv -Path D:\temp\TestResult.csv -NoTypeInformation # Export to .csv file