向 TFS 2017 中的测试用例模板添加新的自定义字段
add a new custom field to the test cases template in TFS 2017
我刚刚安装了 TFS 2017 以使用 Microsoft 测试管理器创建测试用例。
看到我们正在单独创建用户故事,我想在测试用例中添加一个名为 "User Story ID".
的新字段
我打算使用本指南添加一个新的自定义字段:
https://www.visualstudio.com/en-us/docs/work/customize/add-modify-field
在几个世界里我做了这个步骤:
导出WIT定义(我指定项目Test Case)。
witadmin exportwitd /collection:CollectionURL /p:ProjectName
/n:"Test Case" /f:"DirectoryPath/FileName.xml
将指定自定义字段名称的 FIELD 元素添加到
添加。您必须指定以下必需属性:friendly
名称、refname(参考名称)和类型。有关详细信息,请参阅
FIELD(定义)元素引用。
在 FORM 部分添加 Control 元素,以便自定义
字段出现在您所在的元素组内的表单上
想让它出现。
导入 WIT 定义文件。
witadmin importwitd /collection:CollectionURL /p:ProjectName
/f:"DirectoryPath/FileName.xml"
在我所做的 post 之前,我只想让您知道,每次我导出但未编辑任何内容时,我尝试再次导入我的文件时,我收到此错误消息:
这与我在更改文件时收到的错误相同,所以我真的不知道我必须做什么...
这是我添加的行(我只添加了 2 行,并且我添加了评论 "THE LINE THAT I JUST ADDED" 和空格以让您了解其中的一行):
<?xml version="1.0" encoding="utf-8"?>
<witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef">
<WORKITEMTYPE name="Test Case">
<DESCRIPTION>Server-side data for a set of steps to be tested.</DESCRIPTION>
<FIELDS>
/*THE LINE THAT I JUST ADDED*/
<FIELD name="User Story ID" refname="TradeHub.TradeHubTestTeam.UserStoryID" type="String" />
<FIELD name="Iteration ID" refname="System.IterationId" type="Integer" />
<FIELD name="External Link Count" refname="System.ExternalLinkCount" type="Integer" />
...........
...........
</FIELDS>
<WORKFLOW>
...........
...........
</WORKFLOW>
<FORM>
<Layout HideControlBorders="true">
<Group Margin="(4,0,0,0)">
<Column PercentWidth="90">
<Control FieldName="System.Title" Type="FieldControl" ControlFontSize="large" EmptyText="<Enter title here>" />
</Column>
<Column PercentWidth="10">
<Control FieldName="System.ID" Type="FieldControl" ControlFontSize="large" />
</Column>
</Group>
<Group Margin="(10,0,0,0)">
<Column PercentWidth="50">
<Group Label="Status">
<Column PercentWidth="100">
<Control FieldName="System.AssignedTo" EmptyText="<No one>" Type="FieldControl" Label="Assi&gned To" LabelPosition="Left" />
<Control FieldName="System.State" Type="FieldControl" Label="Stat&e" LabelPosition="Left" />
/*THE LINE THAT I JUST ADDED*/
<Control FieldName="TradeHub.TradeHubTestTeam.UserStoryID" Type="FieldControl" Label="User Story ID" LabelPosition="Left" />
<Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Priority" LabelPosition="Left" />
<Control FieldName="Microsoft.VSTS.TCM.AutomationStatus" Type="FieldControl" Label="Automation status" LabelPosition="Left" />
</Column>
</Group>
</Column>
<Column PercentWidth="50">
<Group Label="Classification">
<Column PercentWidth="100">
<Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&Area" LabelPosition="Left" />
<Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&ration" LabelPosition="Left" />
</Column>
</Group>
</Column>
</Group>
<TabGroup>
<Tab Label="Steps">
<Control FieldName="Microsoft.VSTS.TCM.Steps" Type="TestStepsControl" LabelPosition="Top" Dock="Fill" />
</Tab>
<Tab Label="Summary">
<Group>
<Column PercentWidth="50">
<Control FieldName="System.Description" Type="HtmlFieldControl" Label="Description" LabelPosition="Top" Dock="Fill" />
</Column>
<Column PercentWidth="50">
<Control FieldName="System.History" Type="WorkItemLogControl" Label="Histor&y" LabelPosition="Top" Dock="Fill" />
</Column>
</Group>
</Tab>
<Tab Label="Tested User Stories">
<Control Type="LinksControl" Name="Tested">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="include">
<Filter LinkType="Microsoft.VSTS.Common.TestedBy" FilterOn="reversename" />
</WorkItemLinkFilters>
<WorkItemTypeFilters FilterType="include">
<Filter WorkItemType="User Story" />
</WorkItemTypeFilters>
<ExternalLinkFilters FilterType="excludeAll" />
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.WorkItemType" />
<LinkColumn RefName="System.Title" />
<LinkColumn RefName="System.AssignedTo" />
<LinkColumn RefName="System.State" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
</Tab>
<Tab Label="All Links">
<Control Type="LinksControl" Name="GeneralLinks">
<LinksControlOptions>
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.WorkItemType" />
<LinkColumn RefName="System.Title" />
<LinkColumn RefName="System.AssignedTo" />
<LinkColumn RefName="System.State" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
</Tab>
<Tab Label="Attachments">
<Control Type="AttachmentsControl" LabelPosition="Top" />
</Tab>
<Tab Label="Associated Automation">
<Control Type="AssociatedAutomationControl" LabelPosition="Top" Dock="Fill" />
</Tab>
</TabGroup>
</Layout>
</FORM>
</WORKITEMTYPE>
</witd:WITD>
问题是,在这种情况下,当我尝试重新上传文件时,我每次都会收到相同的错误消息。
在安装了 VisualStudio 2015 的情况下重复步骤 4,使用 VS2015 的开发人员命令提示符。 VisualStudio 2013 不知道该元素,因此验证时出错。
我在没有 PowerTools 的情况下做了同样的事情,只是安装了 VisualStudio 2015 Update 3 - 效果很好。
或者等待VisualStudio 2017,应该会在三月初发布。我不建议安装 VisualStudio 2017 RC - 它破坏了我的 VisualStudio 2013 安装。
我刚刚安装了 TFS 2017 以使用 Microsoft 测试管理器创建测试用例。 看到我们正在单独创建用户故事,我想在测试用例中添加一个名为 "User Story ID".
的新字段我打算使用本指南添加一个新的自定义字段: https://www.visualstudio.com/en-us/docs/work/customize/add-modify-field
在几个世界里我做了这个步骤:
导出WIT定义(我指定项目Test Case)。
witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:"Test Case" /f:"DirectoryPath/FileName.xml
将指定自定义字段名称的 FIELD 元素添加到 添加。您必须指定以下必需属性:friendly 名称、refname(参考名称)和类型。有关详细信息,请参阅 FIELD(定义)元素引用。
在 FORM 部分添加 Control 元素,以便自定义 字段出现在您所在的元素组内的表单上 想让它出现。
导入 WIT 定义文件。
witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"DirectoryPath/FileName.xml"
在我所做的 post 之前,我只想让您知道,每次我导出但未编辑任何内容时,我尝试再次导入我的文件时,我收到此错误消息:
这与我在更改文件时收到的错误相同,所以我真的不知道我必须做什么...
这是我添加的行(我只添加了 2 行,并且我添加了评论 "THE LINE THAT I JUST ADDED" 和空格以让您了解其中的一行):
<?xml version="1.0" encoding="utf-8"?>
<witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef">
<WORKITEMTYPE name="Test Case">
<DESCRIPTION>Server-side data for a set of steps to be tested.</DESCRIPTION>
<FIELDS>
/*THE LINE THAT I JUST ADDED*/
<FIELD name="User Story ID" refname="TradeHub.TradeHubTestTeam.UserStoryID" type="String" />
<FIELD name="Iteration ID" refname="System.IterationId" type="Integer" />
<FIELD name="External Link Count" refname="System.ExternalLinkCount" type="Integer" />
...........
...........
</FIELDS>
<WORKFLOW>
...........
...........
</WORKFLOW>
<FORM>
<Layout HideControlBorders="true">
<Group Margin="(4,0,0,0)">
<Column PercentWidth="90">
<Control FieldName="System.Title" Type="FieldControl" ControlFontSize="large" EmptyText="<Enter title here>" />
</Column>
<Column PercentWidth="10">
<Control FieldName="System.ID" Type="FieldControl" ControlFontSize="large" />
</Column>
</Group>
<Group Margin="(10,0,0,0)">
<Column PercentWidth="50">
<Group Label="Status">
<Column PercentWidth="100">
<Control FieldName="System.AssignedTo" EmptyText="<No one>" Type="FieldControl" Label="Assi&gned To" LabelPosition="Left" />
<Control FieldName="System.State" Type="FieldControl" Label="Stat&e" LabelPosition="Left" />
/*THE LINE THAT I JUST ADDED*/
<Control FieldName="TradeHub.TradeHubTestTeam.UserStoryID" Type="FieldControl" Label="User Story ID" LabelPosition="Left" />
<Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Priority" LabelPosition="Left" />
<Control FieldName="Microsoft.VSTS.TCM.AutomationStatus" Type="FieldControl" Label="Automation status" LabelPosition="Left" />
</Column>
</Group>
</Column>
<Column PercentWidth="50">
<Group Label="Classification">
<Column PercentWidth="100">
<Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&Area" LabelPosition="Left" />
<Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&ration" LabelPosition="Left" />
</Column>
</Group>
</Column>
</Group>
<TabGroup>
<Tab Label="Steps">
<Control FieldName="Microsoft.VSTS.TCM.Steps" Type="TestStepsControl" LabelPosition="Top" Dock="Fill" />
</Tab>
<Tab Label="Summary">
<Group>
<Column PercentWidth="50">
<Control FieldName="System.Description" Type="HtmlFieldControl" Label="Description" LabelPosition="Top" Dock="Fill" />
</Column>
<Column PercentWidth="50">
<Control FieldName="System.History" Type="WorkItemLogControl" Label="Histor&y" LabelPosition="Top" Dock="Fill" />
</Column>
</Group>
</Tab>
<Tab Label="Tested User Stories">
<Control Type="LinksControl" Name="Tested">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="include">
<Filter LinkType="Microsoft.VSTS.Common.TestedBy" FilterOn="reversename" />
</WorkItemLinkFilters>
<WorkItemTypeFilters FilterType="include">
<Filter WorkItemType="User Story" />
</WorkItemTypeFilters>
<ExternalLinkFilters FilterType="excludeAll" />
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.WorkItemType" />
<LinkColumn RefName="System.Title" />
<LinkColumn RefName="System.AssignedTo" />
<LinkColumn RefName="System.State" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
</Tab>
<Tab Label="All Links">
<Control Type="LinksControl" Name="GeneralLinks">
<LinksControlOptions>
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.WorkItemType" />
<LinkColumn RefName="System.Title" />
<LinkColumn RefName="System.AssignedTo" />
<LinkColumn RefName="System.State" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
</Tab>
<Tab Label="Attachments">
<Control Type="AttachmentsControl" LabelPosition="Top" />
</Tab>
<Tab Label="Associated Automation">
<Control Type="AssociatedAutomationControl" LabelPosition="Top" Dock="Fill" />
</Tab>
</TabGroup>
</Layout>
</FORM>
</WORKITEMTYPE>
</witd:WITD>
问题是,在这种情况下,当我尝试重新上传文件时,我每次都会收到相同的错误消息。
在安装了 VisualStudio 2015 的情况下重复步骤 4,使用 VS2015 的开发人员命令提示符。 VisualStudio 2013 不知道该元素,因此验证时出错。
我在没有 PowerTools 的情况下做了同样的事情,只是安装了 VisualStudio 2015 Update 3 - 效果很好。
或者等待VisualStudio 2017,应该会在三月初发布。我不建议安装 VisualStudio 2017 RC - 它破坏了我的 VisualStudio 2013 安装。