2016-09-23 4 views
0

Я тестирую проект, и все мои тестовые примеры находятся в MTM, я ищу способ извлечь весь результат теста, который у нас есть в MTM в отдельном файле, есть ли способ сделать это? Пожалуйста, поделитесь, если у вас есть какие-либо идеи спасибо большогоКак извлечь тестовый журнал из MTM?

ответ

0

Если вы хотите экспортировать результаты автоматизированного выполнения, вы можете скачать (выполнение пробного пуска) в .trx файл из раздела вложений и использовать XSL и XSLT, чтобы создать html от него (вы также можете использовать инструмент командной строки tcm.exe run /export для получения файла .trx).

Но если вы создали тестовый прогон вручную, это будет невозможно. Единственный способ получить «файл результатов» должен был бы разобрать результат теста с использованием API TFS (в C# или Powershell через TfsTeamProjectCollection из Microsoft.TeamFoundation.TestManagement.Client и сохранить его в файле.

Или вы можете использовать TFS Rest-API с этим PowerShell-Script (сохранить как .ps), который позволяет запросить JSON и извлекать данные, которые вы хотите, и отображать ее так, как вы хотите:

$RunId = Read-Host -Prompt "TFS Run Id" 

$Url = "http://<tfsurl>/tfs/<CollectionName>/<TeamProject>/_apis/test/runs/$RunId/results" 

$Client = New-Object System.Net.WebClient 
$Client.Credentials = New-Object System.Net.NetworkCredential("<username>", "<password>", "<domain>") 
$Json = $Client.DownloadString($Url) | ConvertFrom-Json 

$Dict = @{} 
ForEach($Test in $Json.value) 
{ 
    $Key = "Run " + $Test.testRun.name + " [" + $Test.testRun.id + "]" 
    $Val = $Test.testCase.name + " [" + $Test.testCase.id + "]" + " = " + $Test.outcome 

    if (!$Dict.ContainsKey($Key)) 
    { 
     $List = New-Object System.Collections.ArrayList 
     $Dict.Add($Key, $List) 
    } 

    $IgnoreIndex = $Dict[$Key].Add($Val) 
} 

ForEach($Key in $Dict.Keys) 
{ 
    Write-Host $Key 
    ForEach($Val in $Dict[$Key]) 
    { 
     Write-Host $Val 
    } 
} 

Exit 

(заменить значения, как < ххх > с ваш)