2016-09-27 88 views
0

我試圖改變測試用例的測試儀在TFS API如何改變測試儀的測試案例(TFS API)

在測試用例經理

我看到這個測試:https://gyazo.com/03adc434225c4c5541f602bc954feaed

我嘗試創建並添加此測試儀的TestPointAssignment:

IdAndName idAndName = new IdAndName(testSuite.Id, testSuite.Title); 
var assignment = testSuite.CreateTestPointAssignment(testCase.Id, idAndName, Tester); 
testSuite.AssignTestPoints(new List<ITestPointAssignment>() { assignment }); 

但沒有任何變化,並保持相同的測試儀。

我該如何在tfs api的測試用例中更改測試器?

回答

1

要使用TFS API更改測試用例的測試人員,您可以嘗試下面的代碼片段:

string teamProjectName = "TeamProjectName"; 
TfsTeamProjectCollection tfsCollection = new TfsTeamProjectCollection(new Uri("http://serverName:8080/tfs/MyCollection")); 
ITestManagementService testService = tfsCollection.GetService<ITestManagementService>(); 
ITestManagementTeamProject teamProject = testService.GetTeamProject(teamProjectName); 
//get test point of a test case 
ITestPlan tplan = teamProject.TestPlans.Find(testplanid); 
ITestPoint point = tplan.QueryTestPoints("SELECT * FROM TestPoint WHERE TestCaseID = Testcaseid").FirstOrDefault(); 

IIdentityManagementService ims = tfsCollection.GetService<IIdentityManagementService>(); 
TeamFoundationIdentity tester = ims.ReadIdentity(IdentitySearchFactor.DisplayName, "Mike", MembershipQuery.Direct, ReadIdentityOptions.None); 
//change tester for testcase 
point.AssignedTo = tester; 
point.Save(); 
+0

THX的答案,但我怎麼可以添加ITestPoint如果'tplan.QueryTestPoints( 「SELECT * FROM測試點WHERE TestCaseID = Testcaseid」)FirstOrDefault()''回報null'? – krabcore

+0

如果它返回null,那意味着它找不到你提供的TestCaseId的測試用例。 –

0

我相信你的問題是idAndName。

CreateTestPointAssignment預計ITestPointAssignment對象,每個對象包含的列表:

  • 測試用例編號
  • 配置
  • 的TeamFoundationIdentity(用戶)

我相信它失敗了,因爲您指定了套件ID和名稱,而不是配置ID和名稱。如您所知,每個測試人員都會分配一個測試點,這是測試用例和配置的交集。在MTM中,您可以在組織中看到您的配置組織 - >測試配置管理器。您將在那裏看到ID和名稱,但在代碼中,您可能需要通過套件的DefaultConfigurations屬性查詢該列表。 (請注意,如果它是空的,這意味着它繼承了父輩或祖先的配置,並且您可能必須從中獲取配置。)