【问题标题】:how to extract test log from MTM ?如何从 MTM 中提取测试日志?
【发布时间】:2016-09-23 17:50:25
【问题描述】:

我正在测试一个项目,我所有的测试用例都在 MTM 中,我正在寻找一种方法来将 MTM 中的所有测试结果提取到一个单独的文件中,有什么方法可以做到吗?如果您有任何想法,请分享 非常感谢

【问题讨论】:

    标签: file testing logging extract mtm


    【解决方案1】:

    如果您希望导出自动运行的结果,您可以从附件部分下载.trx(测试运行执行)文件,并使用XSLXSLT从中创建一个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
    

    (用你的替换像 这样的值)

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 2015-08-03
      • 2014-09-28
      • 2021-09-15
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多