用于识别空测试计划或空测试套件的TFS查询或SQL查询

时间:2017-06-20 19:48:32

标签: tfs2015 data-cleansing

我们对TFS相当新,我一直在努力清理一些领域。我可以看到一个简单的TFS查询,有超过180个测试套件,名称为"新套件" ...我不想尝试打开每个套件并查看是否有分配给它的测试用例。

有没有办法获得空测试套件的报告,也许还有空测试计划?

由于

专利

1 个答案:

答案 0 :(得分:0)

您可以使用REST API获取测试套件列表," testCaseCount"将包含在回复中。见下面的例子:

GET https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/fabrikam-fiber-tfvc/_apis/test/plans/1/suites?api-version=1.0

有关详细信息,请参阅https://www.visualstudio.com/en-us/docs/integrate/api/test/suites

此外,您还可以通过在SQL Server中运行SQL查询来获取空的测试套件或测试计划,请参阅下面的示例。

  SELECT 
       [SuiteId]
      ,[PlanId]
      ,[ParentSuiteId]
      ,[Title]
      ,[TestCaseCountFromMtm]
      ,[TestCaseCountFromWeb]

  FROM [Tfs_CollectionLC].[dbo].[tbl_Suite]

  WHERE  [TestCaseCountFromMtm]='0' and [TestCaseCountFromWeb]='0'

enter image description here

<强>更新

如果您想获取计划和父套件名称,请在上面查询&#34; 标题&#34;列将显示所有套件名称,包括父套件名称。我没有找到确切的表来获取计划名称,但我们可以通过REST API获取它,您可以使用下面的示例PowerShell脚本来获取所有测试计划名称。只需复制/粘贴脚本并将其另存为.ps1文件即可在客户端上运行。

$project = "TFVC-Scrum" # Change to your team project name here
$baseUrl = "http://12r2:8080/tfs/CollectionLC"  # Change to your TFS Collection URL         
$testplanUrl = "{0}/{1}/_apis/test/plans?api-version=1.0" -f $baseUrl, $project 
$TestPlans = (Invoke-RestMethod -Uri $testplanUrl -Method Get -UseDefaultCredential).value

$TestPlanResults = @()

foreach($TestPlan in $TestPlans){
    $testplanitemUrl = "{0}/{1}/_apis/test/plans/{2}?api-version=1.0&includeDetails=true" -f $baseUrl,$project, $TestPlan.id

    $TestPlanItem = Invoke-RestMethod -Uri $testplanitemUrl -Method Get -UseDefaultCredential

    $customObject = new-object PSObject -property @{
          "TestPlanid"= $TestPlanItem.id
          "TestPlanName"= $TestPlanItem.name
        } 

    $TestPlanResults += $customObject       
}

$TestPlanResults | Select `
                TestPlanid,
                TestPlanName

enter image description here