我们对TFS相当新,我一直在努力清理一些领域。我可以看到一个简单的TFS查询,有超过180个测试套件,名称为"新套件" ...我不想尝试打开每个套件并查看是否有分配给它的测试用例。
有没有办法获得空测试套件的报告,也许还有空测试计划?
由于
专利
答案 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'
<强>更新强>
如果您想获取计划和父套件名称,请在上面查询&#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