2016-09-23 5 views
0

Ich teste ein Projekt und alle meine Testfälle sind in MTM, ich suche nach einer Möglichkeit, alle Testergebnisse, die wir im MTM haben, in einer separaten Datei zu extrahieren, gibt es eine Möglichkeit, das zu tun? Bitte teilen, wenn Sie eine Idee haben, Dank vielWie kann ich das Testprotokoll von MTM extrahieren?

Antwort

0

Wenn Sie die Ergebnisse einer automatisierten Lauf exportieren möchten, können Sie den .trx (Testlauf Ausführung) Download von der Anhänge Abschnitt Datei und verwenden XSL und XSLT ein erstellen HTML-Bericht von ihm (Sie können auch das Befehlszeilentool tcm.exe run /export verwenden, um eine .trx-Datei zu erhalten).

Wenn Sie jedoch den Testlauf durch manuelle Ausführung erstellt haben, ist dies nicht möglich. Der einzige Weg, um eine „Ergebnisdatei“ zu bekommen wäre das Ergebnis des Testlaufs zu analysieren mit dem TFS API (in C# oder Powershell über TfsTeamProjectCollection von Microsoft.TeamFoundation.TestManagement.Client und speichern sie in einer Datei.

Oder Sie können die TFS verwenden Rest-API mit diesem Powershell-Skript (als .ps speichern), die Ihnen eine JSON abfragen können und extrahieren die Daten, die Sie wollen, und es so, wie Sie wollen zeigen:

$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 

(ersetzen Werte wie <xxx> mit Ihr)

Verwandte Themen