【问题标题】:add a new custom field to the test cases template in TFS 2017向 TFS 2017 中的测试用例模板添加新的自定义字段
【发布时间】:2017-02-09 14:27:23
【问题描述】:

我刚刚安装了 TFS 2017 以使用 Microsoft 测试管理器创建测试用例。 看到我们正在单独创建用户故事,我想在测试用例中添加一个名为“用户故事 ID”的新字段。

我打算使用本指南添加一个新的自定义字段: https://www.visualstudio.com/en-us/docs/work/customize/add-modify-field

在几个世界我做了这个步骤:

  1. 导出 WIT 定义(我指定项 Test Case)。

    witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:"测试用例" /f:"DirectoryPath/FileName.xml

  2. 将指定自定义字段名称的 FIELD 元素添加到 添加。您必须指定以下必需属性:friendly 名称、参考名称(参考名称)和类型。有关详细信息,请参阅 FIELD(定义)元素引用。

  3. 在 FORM 部分中添加 Control 元素,以便自定义 字段出现在您所在的元素组中的表单上 希望它出现。

  4. 导入 WIT 定义文件。

    witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"目录路径/文件名.xml"

在发布我所做的之前,我只想让您知道,每次我导出并且没有编辑任何内容时,我尝试再次导入我的文件时都会收到以下错误消息:

这与我对文件进行更改时收到的错误相同,所以我真的不知道我必须做什么......

这是我添加的行(我只添加了 2 行,然后我写了一条评论“我刚刚添加的那行”和空格让我们了解其中一个是):

<?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="&lt;Enter title here&gt;" />
          </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="&lt;No one&gt;" Type="FieldControl" Label="Assi&amp;gned To" LabelPosition="Left" />
                <Control FieldName="System.State" Type="FieldControl" Label="Stat&amp;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="&amp;Area" LabelPosition="Left" />
                <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&amp;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&amp;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>

问题是,在这种情况下,当我尝试重新上传文件时,我每次都会收到相同的错误消息。

【问题讨论】:

  • 您可以将测试用例链接到用户故事。为什么这还不够?
  • 嗨@DanielMann 不适合我,因为此时我们已经在共享点中拥有所有用户故事,并且为了快速链接,我们希望有一个额外的字段......我们没有没有足够的时间复制所有用户故事,而且我们没有集成共享点和 tfs
  • @Carlo1585 你用的是什么版本的witadmin? witadmin的路径是什么?
  • @MatthewManela 我使用的路径是这个:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE 所以版本是 12,因为我使用的是 Visual Studio 2013. 我需要下载 Visual Studio 2017 吗?
  • 您可以考虑下载并安装TFS Power Tool,这将简化添加字段的过程。 TFS Power Tool 提供了一个 UI 来添加字段。您可以查看此工具并关注此博客:blog.infostructure.co.nz/2013/05/…。我刚刚在我的 VS 2015 和 powertool 2015 中进行了测试,它工作正常。

标签: tfs custom-fields mtm


【解决方案1】:

在安装 VisualStudio 2015 的情况下重复第 4 步,使用 VS2015 的开发人员命令提示符。 VisualStudio 2013 不知道该元素,因此验证时出现错误。

我在没有 PowerTools 的情况下做了同样的事情,只是安装了 VisualStudio 2015 Update 3 - 就像一个魅力一样工作。

或者等待VisualStudio 2017,它应该在三月初发布。我不建议安装 VisualStudio 2017 RC - 它破坏了我的 VisualStudio 2013 安装。

【讨论】:

  • 完成了 Visual Studio 2015 Update 3 和 Visual Studio 2015 的电动工具;) 太棒了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 2015-06-20
  • 2011-03-10
  • 2022-01-06
  • 2016-02-01
相关资源
最近更新 更多