2017-06-20 2 views
0

私たちはTFSをかなり新しくしており、一部の領域をクリーンアップしようとしています。シンプルなTFSクエリで、 "New suite"という名前の180以上のテストスイートがあることがわかります...それぞれを開き、それに割り当てられているテストケースがあるかどうかを見たいと思っていません。空のテストプランまたは空のテストスイートを特定するためのTFSクエリまたはSQLクエリ

Empty Test Suitesのレポートを入手する方法はありますか?Empty Test Plans?

パット

答えて

0

あなたはテストスイートのリストを取得するためにREST APIを使用することができます

おかげで、「testCaseCountは、」応答に含まれます。たとえば以下を参照してください。

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

詳細についてはまた、あなたはまた、サンプル下記参照、SQL ServerのSQLクエリを実行して、空のテストスイートやテスト計画を得ることができますhttps://www.visualstudio.com/en-us/docs/integrate/api/test/suites

を参照してください。

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

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

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

enter image description here

更新:

あなたは計画と親スイート名を取得したい場合は、上記のクエリで「タイトル」の欄には含めて、すべてのスイートの名前が表示されます親スイート名。 Plan nameを取得するための正確なテーブルは見つかりませんでしたが、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

+0

私は、SQLのアイデアを好きですが、私はTFSのSQLサーバーやレポートサーバーに接続する必要があり、どのデータベース靴私はに添付?このような基本的な質問を申し訳ありません... パット –

+0

@PatDelaneyはい、TFS SQL ServerマシンにSSMS(SQL Server Management Studio)を開き、SQL Serverに接続するだけで、TFS SQLサーバーに接続する必要があります。新しいクエリ> sqlクエリの上にコピーして貼り付け(コレクションデータベースに変更)>クエリを実行すると、結果が表示されます。 –

+0

私はDBAの形式で最終的に読み取り専用アクセス許可を得ました。上のクエリを切り取って貼り付けました。また、新しいクエリーウィンドウの一番上にあるドロップダウンからアクセスしたいデータベースを選択しました。 (私はSSDTを使用しています)私が取得するクエリを実行するとき:メッセージ208、レベル16、状態1、行1何かにTFS_CollectionLCを変更する必要はありますか? オブジェクト名 'Tfs_CollectionLC.dbo.tbl_Suite'が無効です。 –

関連する問題