首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从MTM中提取测试日志?

如何从MTM中提取测试日志?
EN

Stack Overflow用户
提问于 2016-09-24 01:50:26
回答 1查看 500关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 18:29:36

如果希望导出自动运行的结果,可以从附件部分下载.trx (测试运行执行)文件,并使用XSLXSLT从该文件创建html报告(也可以使用命令行工具tcm.exe run /export获取.trx文件)。

但是,如果您通过手动执行创建了测试运行,这将是不可能的。获得“结果文件”的唯一方法是使用TFS解析测试运行的结果(在C#或Powershell中,通过来自Microsoft.TeamFoundation.TestManagement.ClientTfsTeamProjectCollection ),并将其存储在一个文件中。

或者,您可以将TFS Rest-API与此PowerShell脚本(另存为.ps)一起使用,该脚本允许您查询JSON并提取所需的数据,并以您希望的方式显示它:

代码语言:javascript
复制
$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

(将类似的值替换为您的值)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39666758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档