0
我们对TFS相当陌生,我一直在尝试清理一些区域。我可以看到一个简单的TFS查询,其中有超过180个测试套件,名称为“New suite”...我不想尝试打开每个测试套件,并查看是否有测试用例分配给它。TFS查询或SQL查询来识别空测试计划或空测试套件
有没有办法获得空测试套件报告,也许有空测试计划?
感谢
帕特
我们对TFS相当陌生,我一直在尝试清理一些区域。我可以看到一个简单的TFS查询,其中有超过180个测试套件,名称为“New suite”...我不想尝试打开每个测试套件,并查看是否有测试用例分配给它。TFS查询或SQL查询来识别空测试计划或空测试套件
有没有办法获得空测试套件报告,也许有空测试计划?
感谢
帕特
您可以使用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'
更新:
如果你想获得的计划和家长套房名称,在上面查询“标题”一栏将显示所有套件名称包括家长套房名称。我没有找到确切的表格来获取计划名称,但我们可以通过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
我喜欢的SQL的想法,但我应该连接到TFS SQL服务器或报表服务器,和我连接到哪个数据库的鞋?对不起,这样一个基本的问题... Pat –
@PatDelaney是的,你需要连接到TFS SQL服务器,只需在您的TFS SQL Server机器中打开SSMS(Sql Server Management Studio),然后连接到SQL Server,然后新建查询>复制并粘贴上面的sql查询(更改为您的集合数据库)>执行查询,您将获得结果。 –
所以我最终得到了DBA的只读权限。我已经剪切并粘贴了上面的查询。我还从新查询窗口顶部的下拉列表中选择了我想要访问的数据库。 (我正在使用SSDT)当我运行我得到的查询:消息208,级别16,状态1,行1我必须改变TFS_CollectionLC到别的东西吗? 无效的对象名称'Tfs_CollectionLC.dbo.tbl_Suite'。 –