0
我正在測試一個項目,我所有的測試用例都在MTM中,我正在尋找一種方法來提取我們在MTM中的所有測試結果在一個單獨的文件中,有沒有辦法做到這一點?如果要導出一個自動運行的結果,你可以下載.trx
(試運行執行)從附件部分文件,並使用XSL
和XSLT
創建敬請分享,如果你有任何想法 非常感謝如何從MTM中提取測試日誌?
我正在測試一個項目,我所有的測試用例都在MTM中,我正在尋找一種方法來提取我們在MTM中的所有測試結果在一個單獨的文件中,有沒有辦法做到這一點?如果要導出一個自動運行的結果,你可以下載.trx
(試運行執行)從附件部分文件,並使用XSL
和XSLT
創建敬請分享,如果你有任何想法 非常感謝如何從MTM中提取測試日誌?
來自它的html報告(您也可以使用命令行工具tcm.exe run /export
來獲取.trx文件)。
但是,如果您通過手動執行創建了測試運行,這將不可能。獲得「結果文件」的唯一方法是使用TFS API解析測試運行的結果(在C#或Powershell中,通過TfsTeamProjectCollection
從Microsoft.TeamFoundation.TestManagement.Client
並將其存儲在一個文件中)
或者您可以使用TFS REST的API與此的PowerShell腳本(保存爲.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
(更換喜歡<XXX>與價值觀你的)