如何使用REST API从Rally中的测试集中移除测试用例?如何使用Rally REST API从测试集中移除(取消映射)测试用例?
它打算从JavaScript调用。我无法在他们的文档中找到这些信息;一个链接将不胜感激。
如何使用REST API从Rally中的测试集中移除测试用例?如何使用Rally REST API从测试集中移除(取消映射)测试用例?
它打算从JavaScript调用。我无法在他们的文档中找到这些信息;一个链接将不胜感激。
由于您使用Javascript - 你是不是也使用汽车拉力赛的AppSDK?如果是这样,那么处理一个简单的AppSDK示例就可以相对简单一些,它可以显示出这一点 - 以及AppSDK提供的优惠。
如果您在使用直上休息,一个小问题,就是测试用例没有测试集属性字段 - 映射的是,测试仪还测试用例的集合。做到这一点的方法是通过REST查询测试集:
https://rally1.rallydev.com/slm/webservice/1.34/testset/12345678910
这将为看起来像这样的响应(使用XML阅读能力,建议在实践中使用JSON):
<?xml version="1.0" encoding="UTF-8"?>
<TestSet rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testset/1234741798" objectVersion="7" refObjectName=" Data Import Tests" CreatedAt="Mar 29">
<CreationDate>2012-03-30T00:23:59.964Z</CreationDate>
<ObjectID>1234741798</ObjectID>
<Subscription rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/subscription/1231154643" refObjectName="My Subscription" type="Subscription" />
<Workspace rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/workspace/1234498610" refObjectName="My Workspace" type="Workspace" />
<Changesets />
<Description>Tests to validate data import</Description>
<Discussion />
<FormattedID>TS11</FormattedID>
<LastUpdateDate>2012-03-30T00:25:56.544Z</LastUpdateDate>
<Name>Grid Data Import Tests</Name>
<Notes />
<Owner rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/user/1234320127" refObjectName="My Username" type="User" />
<Project rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/project/1234731604" refObjectName="My Project" type="Project" />
<RevisionHistory rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/revisionhistory/1234741799" type="RevisionHistory" />
<Tags />
<Blocked>false</Blocked>
<Iteration rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/iteration/1234172067" refObjectName="Iteration 1" type="Iteration" />
<PlanEstimate>2.0</PlanEstimate>
<Rank>500000010240.000</Rank>
<Release rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/release/1234791788" refObjectName="Release 1" type="Release" />
<ScheduleState>Defined</ScheduleState>
<Tasks />
<TestCaseStatus>SOME_RUN_SOME_NOT_PASSING</TestCaseStatus>
<TestCases>
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234758065" refObjectName="Test Case 1" type="TestCase" />
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234757395" refObjectName="Test Case 2" type="TestCase" />
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234000782" refObjectName="Test Case 3" type="TestCase" />
</TestCases>
</TestSet>
足见三个测试用例的集合。要删除测试案例3,你会提交REST请求只包括测试用例1和测试案例2,如下:
<TestSet ref="/testset/1234741798">
<TestCases>
<TestCase ref="/testcase/1234758065"/>
<TestCase ref="/testcase/1234757395"/>
</TestCases>
</TestSet>
这将更新测试仪等,它消除了测试案例3只前两个测试用例。
您的客户端代码需要遍历从测试集查询REST响应,并构建扔掉未所需的测试案例,并保持你想要的那些POST请求。
谢谢。这非常有帮助。我想在拉力赛结束时没有并发。如果有人在get和post之间更改了测试用例列表,它不会解决它。 –
并发性问题肯定会成为大型TestSets的问题。我相信AppSDK2在这里会有一些好处,因为一些使用Javascript SDK的数据存储将有助于管理并发冲突。 – 2012-06-27 20:33:56
实际上与开发团队一起签入,而AppSDK2可能对TestSets的“自上而下”类型的集合属性没有多大帮助 - 但是,它对于从集合中看到的“自下而上”更新非常有用用户故事中的任务。 – 2012-06-27 20:45:36