tcm:使用命令行实用工具从测试计划运行测试
你可以从命令行将自动测试作为测试计划的一部分运行。 这允许你使用批处理文件开始测试运行,以便你可以计划运行。 你也可以从命令行管理测试运行。 如果你要导出测试运行,以使开发人员能够使用 Visual Studio 查看测试结果,则可以使用 tcm 完成这一操作。 你还可以使用 tcm 从 Visual Studio 测试运行文件 (.trx) 发布测试运行结果。 你可以指定此测试中的哪些结果运行你要重新发布到你的测试计划的文件。 可以使用下列 tcm 命令来完成这些任务:
tcm run /create
tcm run /list
tcm run /execute
tcm run /abort
tcm run /delete
tcm run /export
tcm run /publish
tcm.exe 位于安装了 Visual Studio Ultimate、Visual Studio Premium 或 Visual Studio Test Professional 的所有计算机上的 <Drive:>\Program Files\Microsoft Visual Studio 11.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 /execute /id:id /collection:CollectionURL /teamproject:project [/login:username,[password]]
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]
参数
参数 |
描述 |
---|---|
/collection:CollectionURL |
指定团队项目集合的 URI。 URI 的格式如下:http://ServerName:Port/VirtualDirectoryName/CollectionName 如果未使用虚拟目录,则 URI 将为以下格式: http://ServerName:Port/CollectionName |
/teamproject:project |
包含要将自动测试导入到的测试计划的团队项目的名称。 |
/title: title |
指定要用于所创建运行的标题,或指定是否发布测试运行文件。 |
/planid:id |
指定包含要运行的测试的计划,或与你要列出的测试运行相关联的计划。 |
/suiteid:id |
指定要运行的测试套件。 它还可以指定要在发布测试运行时使用的测试套件。 备注 若要查找套件 ID,你可以列出测试计划的测试套件。有关详细信息,请参阅tcm:列出测试计划、测试套件、测试配置和环境。 提示 若要运行多个测试套件,可以使用 /querytext 参数。 |
/configid:configid |
指定要为测试套件运行的测试配置。 它还可以指定要在发布测试运行时使用的测试配置。 提示 若要运行多个测试配置,可以使用 /querytext 参数。 |
/querytext:query |
指定要用于返回测试运行的查询,或要用于选择要运行的测试的查询。 提示 你可以使用 /querytest 参数以运行多个测试套件。例如: querytext:“SELECT * FROM TestPoint WHERE (ConfigurationId=20 OR ConfigurationId=21) AND (Suiteid=1185 OR Suiteid=1186)” |
/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 凭据没有适当权限、你使用的是基本身份验证或者你未连接到域,你将使用此选项。 要登录到 Visual Studio Online,你还需使用下列 /allowalternatecredentials。 |
/allowalternatecredentials |
连接到 Visual Studio Online 时,不仅需要指定 /login 参数,还必须指定此标志。 (仅当使用 Visual Studio 2013 Update 4 或更高版本时,此标志才可用。) |
可以将 /collection 和 /teamproject 的参数添加到 tcm.exe.config XML 文件中,该文件位于 tcm.exe 所在的同一目录中:<Drive:>\Program Files\Microsoft Visual Studio 11.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 2012”,指向“Visual Studio 工具”,然后选择“开发人员命令提示”**。
命令提示符对文件夹打开:<drive>:\Program Files\Microsoft Visual Studio 11.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>
以下命令使用特定 ID 运行测试:
Tcm run /execute /id:1207 /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>