2016-09-27 51 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属性查询该列表。 (请注意,如果它是空的,这意味着它继承了父辈或祖先的配置,并且您可能必须从中获取配置。)