tcm:使用命令行实用工具从测试计划运行测试

您可以从命令行运行作为测试计划一部分的自动测试。 这允许您使用批处理文件启动测试运行,以便您可以计划运行。 您也可以从命令行管理测试运行。 如果您要导出测试运行,以使开发人员可以使用 Visual Studio 查看测试结果,则可以使用 tcm 完成这一操作。 您还可以使用 Visual Studio 从 tcm 测试运行文件 (.trx) 发布测试运行的结果。 您可以指定此测试中的哪些结果运行您要重新发布到您的测试计划的文件。 可以使用下列 tcm 命令来完成这些任务:

  • tcm run /create

  • tcm run /list

  • tcm run /abort

  • tcm run /delete

  • tcm run /export

  • tcm run /publish

tcm.exe 位于安装了 Visual Studio 旗舰版 的任何计算机上的 <Drive:>\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 中。

有关如何将自动测试导入测试项目以及设置测试计划以运行这些测试的更多信息,请参见从自动测试的程序集创建测试用例如何:从命令行使用 Tcm 自动运行测试用例

tcm run /create /title:title /planid: id /collection:CollectionURL /teamproject:project (suiteid:id /configid:configid | /querytext: query) [/settingsname:name] [/owner:owner] [/builddir:directory]  [/testenvironment:name] [/login:username,[password]] [/include]

tcm run /list [/planid:id | /querytext: query] /collection:CollectionURL /teamproject:project [/login:username,[password]]

tcm run /abort /id:id /collection:CollectionURL /teamproject:project [/login:username,[password]]

tcm run /delete /id:id /collection:CollectionURL /teamproject:project [/login:username,[password]] [/noprompt]

tcm run /export /id:id /resultsfile:path /collection:CollectionURL /teamproject:project [/login:username,[password]] [/attachment:attachmentname]

tcm run /publish /suiteid:id /configid:id /resultowner:owner /resultsfile:path /collection:CollectionURL /teamproject:project    [/title: runtitle] [/runowner:owner] [/build:buildnumber /builddefinition:builddefinition] [/flavor:flavor [/platform:platform]  [/assignfailurestouser:user] [/login:username,[password]] [/buildverification]

参数

Parameter

说明

/collection:CollectionURL

指定团队项目集合的 URI。 URI 的格式为:http://ServerName:Port/VirtualDirectoryName/CollectionName

如果未使用虚拟目录,则 URI 将为以下格式:

http://服务器名称:端口/集合名称

/teamproject:project

包含要将自动测试导入其中的测试计划的团队项目的名称。

/title: title

指定要用于所创建运行的标题,或者如果发布了测试运行文件。

/planid:id

指定包含您要运行的测试的计划,或与您要列出的测试运行相关联的计划。

/suiteid:id

指定要运行的测试套件。 例如,如果希望运行多个测试套件,则可以使用以下语法作为 tcm 命令的一部分:/suiteid:2 /suiteid:3

它还可以指定要在发布测试运行时使用的测试套件。

注意注意
若要查找套件 ID,您可以列出测试计划的测试套件。有关更多信息,请参见 tcm:列出测试计划、测试套件、测试配置和环境

/configid:configid

指定您要为测试套件运行的测试配置。 例如,如果希望运行多个测试配置,则可以使用以下语法作为 tcm 命令的一部分:/configid:2 /configid:3

它还可以指定要在发布测试运行时使用的测试配置。

/querytext:query

指定要用于返回测试运行的查询,或要用于选择要运行的测试的查询。

/settingsname:name

可选。 指定要用于此测试运行的测试设置。 如果不选择此参数的测试设置,则使用测试计划中自动测试的默认测试设置。

/owner:owner

可选。 指定测试运行的所有者。

/runowner:owner

可选。 指定测试运行的所有者。

/builddir:directory

可选。 指定要用于为自动测试定位测试程序集的生成目录。 如果不对此进行指定,则基于当前分配给该测试计划的生成使用生成位置。

/testenvironment:name

可选。 指定要用于此测试运行的测试环境。 如果不选择此参数的测试环境,则使用测试计划中自动测试的默认测试环境。

/id:id

指定要删除、中止或导出的运行 ID。

/resultsfile:path

指定要用来导出测试运行或查找要发布它的测试运行的位置。 例如,“c:\temp\ResultsForDeveloper.trx”。

/attachment:attachmentname

指定要导出的测试运行的附件的名称。

/resultowner:owner

指定测试结果的所有者。

/build:buildnumber

可选。 指定要用来发布测试运行的内部版本号。 此参数必须与 /builddefinition 一起使用。

/builddefinition:builddefinition

可选。 指定要用来发布测试运行的生成定义。 此参数必须与 /build 一起使用。

/flavor:flavor

可选。 指定生成风格。 例如,发行版本。 此参数只有在使用 /build 参数的情况下才能使用。

/platform:platform

可选。 指定生成平台。 例如,x86。 此参数只有在使用 /build 参数的情况下才能使用。

/assignfailurestouser:user

可选。 指定在测试运行中要将任何失败的测试分配给的人员。

/buildverification

可选。 指定此测试运行包含生成验证测试,检查生成的基本功能。

/include

可选。 指定将所有选定来运行测试的测试都包括在内,即使测试前未设置为“活动”状态。

/noprompt

可选。 指定不提示用户确认测试运行删除。

/login:username,[password]

可选。 指定登录到 Team Foundation Server 的应用层服务器并有权运行该命令的用户的名称和密码。 如果您的 Windows 凭据没有适当权限、您使用的是基本身份验证或者您未连接到域,您将使用此选项。

可以将 /collection/teamproject 的参数添加到 tcm.exe.config XML 文件中,该文件与 tcm.exe 位于同一个目录:<Drive:>\Program Files\Microsoft Visual Studio 10.0\Common7\IDE。 如果您将这些添加到文件,您不必每次在运行 tcm 命令时在命令行中输入它们。 您可以将这些密钥和它们的值添加到文件中,如后面的 appSettings 节中所述:

    <appSettings>
         <add key="TeamFoundationServer" value="http://<ServerName:Port/VirtualDirectoryName/CollectionName>"/>
         <add key ="TeamProject" value="DinnerNow"/>
    </appSettings>

运行测试和管理测试运行

下面的示例假定您已经启动 Visual Studio 命令提示符。

为此,请单击**“开始”,依次指向“所有程序”“Microsoft Visual Studio 2010”“Visual Studio 工具”,然后单击“Visual Studio 命令提示(2010)”**。

命令提示符对文件夹打开:<drive>:\Program Files\Microsoft Visual Studio 10.0\VC

将目录更改为包含从测试项目生成的程序集的文件夹。

重要说明重要事项

若要使用 tcm.exe 从命令行运行自动测试,必须将测试用例与自动测试相关联。 如果您不在命令行中指定生成信息,则您还必须正确设置测试计划才能使用生成来定位要运行的自动测试。 有关如何执行此操作的更多信息,请参见如何:使用 tcm.exe 从自动测试程序集创建测试用例

若要获取下列命令所需的 ID,您可能需要使用 tcm 来列出测试项目和它们的 ID。 有关如何执行此操作的更多信息,请参见 tcm:列出测试计划、测试套件、测试配置和环境如何:从命令行使用 Tcm 自动运行测试用例

以下命令使用测试点查询运行测试:

tcm run /create /title:"Nightly Run" /planid:1 /querytext:"SELECT * FROM TestPoint WHERE ConfigurationId=13" /settingsname:"<Name of your automated test settings>" /testenvironment:"<Name of a matching environment>" /collection:<CollectionURL> /teamproject:<Team Project name>

以下命令使用特定的测试套件和配置运行测试:

tcm run /create /title:"Nightly Run" /planid:1 /suiteid:5 /configid:13 /settingsname:"<Name of your automated test settings>" /testenvironment:"<Name of a matching environment>" /collection:<CollectionURL> /teamproject:<Team Project name>

以下命令用于列出特定测试计划的测试运行:

tcm run /list /planid:1 /collection:<CollectionURL> /teamproject:<Team Project name>

以下命令删除特定测试运行:

tcm run /delete /id:1009 /collection:<CollectionURL> /teamproject:<Team Project name>

以下命令将测试运行导出到 .trx 文件:

tcm run /export /id:1273 /resultsfile:"c:\temp\latest.trx" /collection:<CollectionURL> /teamproject:<Team Project name>

下面的命令为特定的测试套件和测试配置发布测试运行,并重新分配所有者。 这会将与此配置配对的测试套件中的测试用例的现有测试点更新为 .trx 文件中的结果:

tcm run /publish /suiteid:5 /configid:13 /resultowner:"<Name of new owner>" /resultsfile:"c:\temp\latest.trx" /collection:<CollectionURL> /teamproject:<Team Project name>

请参见

其他资源

tcm:列出测试计划、测试套件、测试配置和环境

tcm:从命令行为测试计划导入和运行自动测试