本主题介绍在命令行上运行 SOAtest 时可以使用的命令行选项。章节目录:
基础使用
有关使用 SOAtest 命令行界面的完整详情,请参阅 CLI 使用。
使用双引号标记指定 SOAtest 命令行选项。不支持单引号标记。
soatestcli -<OPTION> "<VALUE>"
示例:
soatestcli -config "team://Our Configuration"
执行后,指定的团队经理和架构师将通过电子邮件接收一份报告,列有所有团队/项目任务。报告还会明确说明负责每项任务的团队成员。即使没有任务,也会通过电子邮件发送报告,除非设置文件中包含以下设置:
report.mail.on.error.only=true
如果满足相应的先决条件,soatestcli 会自动向每个团队成员发送报告的电子邮件,其中只包含分配的相应任务。如果特定团队成员没有被分配任务,则不会收到电子邮件报告。
有关从 Eclipse 继承选项的详细信息,请参阅 Eclipse 文档。
选项参考
可使用以下选项。
- -appconsole stdout
- -browserTestsVisible
- -config
- -data
- -dataGroupConfig
- -dataSourceName
- -dataSourceRow
- -encodepass
- -environment
- -environmentConfig
- -exclude
- -fail
- -help
- -ignoreMissingResources
- -import
- -include
- -installcertificate
- -J
- -settings
- -machineid
- -prefs
- -property
- -publish
- -refresh
- -resource
- -report
- -router
- -showdetails
- -showsettings
- -testName
- -visualStudio
- -version
- -workItems
-appconsole stdout
将详细输出打印到 stdout。
将打印与控制台中显示的输出类型相同的输出(如果从 GUI 运行)。
-browserTestsVisible
对于浏览器测试,打开浏览器 UI 并在浏览器中回放测试。这样,您就可以选择查看和捕获每个测试步骤后显示的浏览器内容,例如需要合规性文档的情况。
-config
指定要用于执行测试的测试配置。此参数必需。
指定的值被解释为 URL、测试配置名称或本地文件路径。
文件名示例:
-config "mylocalconfig.properties"
URL 示例:
-config "http://intranet.acme.com/SOAtest/team_config.properties"
内建配置示例:
-config "builtin://Demo Configuration" -config "Demo Configuration"
用户自定义配置示例:
-config "user://My First Configuration"
团队配置示例:
-config "team://Team Configuration" -config "team://teamconfig.properties"
-data
指定用于执行测试的 Eclipse 工作空间目录的位置。默认值为当前用户的依赖目录。如果不使用该选项,则会使用 <SOATEST_WORKSPACE>\parasoft\workspace
下的默认工作空间,例如 C:\Users\<USER>\parasoft\workspace
。
-dataGroupConfig
指定数据组内活跃的数据源。此参数后必须紧跟 XML 文件的位置,为测试运行中包含的每个 .tst 文件内的每个数据组指定活跃的数据源。XML 文件必须使用以下格式:
<tests> <test> <!--1 or more--> <workspacePath></workspacePath> <dataGroups> <dataGroup> <!--1 or more--> <dataGroupName></dataGroupName> <activeDataSourceName></activeDataSourceName> </dataGroup> </dataGroups> </test> </tests>
datagroupConfig
和 environmentConfig
的 <workspacePath>
元素应包含工作空间中资源(如 .tst)的路径,而不是文件系统上的路径。您可以右键点击 SOAtest UI 中的 .tst 文件并选择属性,以获取资源的正确路径。例如,下面示例中的路径是 /SOAtest Tutorial/Calculator.tst
。
-dataSourceName
指定与要运行的测试相关联的数据源名称。请参阅 -dataSourceRow 获取更多信息。
-dataSourceRow
使用指定的数据源行运行所有测试。您可以指定行号列表或行范围。以下为有效值示例:
5
1,2,5
3-9
2-5,7,20-30
您还可以指定 all
值,强制使用所有数据源行——即使数据源已保存为仅使用特定行。
您可以使用 -dataSourceName 选项指定哪个数据源包含与要执行的测试相关的行。-dataSourceName
参数为可选参数,但在使用时必须出现在 -dataSourceRow
之后。
-encodepass
生成指定值的编码版本。编码字符串将打印在控制台中,命令行应用程序将会终止。强烈推荐使用此选项生成用于连接到 DTP 或许可证服务器的安全的字符串。示例:
soatestcli -encodepass mypassword -config "builtin://Example Configuration"
必须与 -config 一起使用。
-environment
指定用于执行测试的 SOAtest 环境名称。SOAtest 中的环境是一组变量,用于定义端点和其他特定于测试的输入。SOAtest 环境不应与 Virtualize 和持续测试平台中描述的环境实体相混淆。
当运行来自命令行的功能测试时,可以使用命令行指定的内容覆盖项目中指定的活动环境。注意,如果在项目中没有找到指定的环境,则将使用默认的活动环境。
-environmentConfig
指定活动环境变量。此参数后必须紧跟 XML 文件的位置,指定环境变量值,以用于测试运行中包含的每个 .tst 文件。XML 文件必须使用以下格式:
<tests> <test> <!--1 or more--> <workspacePath></workspacePath> <Environment> <Variable> <!--1 or more--> <Name></Name> <Value></Value> </Variable> </Environment> </test> </tests>
datagroupConfig
和 environmentConfig
的 <workspacePath>
元素应包含工作空间中资源(如 .tst)的路径,而不是文件系统上的路径。您可以右键点击 SOAtest UI 中的 .tst 文件并选择属性,以获取资源的正确路径。例如,下面示例中的路径是 /SOAtest Tutorial/Calculator.tst
。
-exclude
指定在测试过程中排除的文件名、文件路径或与文件名匹配的模式。模式匹配语法与 Ant 文件集类似。支持以下通配符:
*
(单星号):匹配任何字符?
(问号):匹配前一个字符的 0 或 1**
(双星号):匹配任何目录。
例如:
-exclude **/internal/**
(测试除路径为“internal”文件夹的类之外的所有类)-exclude **/*Test.xml
(测试以 Test.xml 结尾的文件之外的所有文件)
-fail
如果报告了任何违规,则返回非零退出码,从而导致构建失败。返回码表示 2 条静态分析违规,4 条功能测试违规,8 条编码审核违规,1 条任何其他问题。
另请参阅 CLI 退出码。
-help
显示有效命令行选项列表。
-ignoreMissingResources
使测试执行忽略丢失的资源,并使用运行时存在的资源。如果不使用该选项,则使用 -resource
选项指定的所有资源必须存在才能执行测试运行。
-import
将指定的 Eclipse 项目导入 Eclipse 工作空间,无需复制项目文件。导入的项目将引用原始位置中的文件。指定一个 .project 文件导入所选项目。指定一个目录导入所选目录及其子目录中的所有 Eclipse 项目。
例如:
-import .project
-import c:\DevelRootDir\
您可以在 soatestcli
中使用多个 -import
标志来指定要导入的每个项目或项目集。导入所有必要的项目后,无需 -import
选项即可运行 soatestcli
来执行测试。
-include
指定在测试过程中包含的文件名、文件路径或与文件名匹配的模式。模式匹配语法与 Ant 文件集类似。支持以下通配符:
*
(单星号):匹配任何字符?
(问号):匹配前一个字符的 0 或 1**
(双星号):匹配任何目录。
例如:
-include **/Bank.xml
(测试 Bank.xml 文件)-include **/ATM/Bank/*.xml
(测试 ATM/Bank 文件夹中的所有 .xml 文件)-include c:/ATM/Bank/Bank.xml
(仅测试 c:/ATM/Bank/Bank.xml 文件)
也可以使用 -include
选项指定 .lst 文件,将模式添加到 .lst 文件中,从而指定模式列表。例如,您可以将以下模式保存到名为 include.lst 的文件中,然后指定 -include c:/include.lst
,这样 SOAtest 就会将文件中的每一行都视为一个模式:
**/Bank.xml **/ATM/Bank/*.xml c:/ATM/Bank/Bank.xml
指定 include.lst 文件的效果与以下命令相同:
-include **/Bank.xml -include **/ATM/Bank/*.xml -include c:/ATM/Bank/Bank.xml"
-installcertificate
安装 Parasoft 根证书颁发机构,使 SOAtest 能够记录 HTTPS 通讯报文。证书通常在正常安装流程中安装(请参阅安装说明),但必要时可使用此选项重新安装。使用示例:
soatestcli.exe -installcertificate
-J
指定额外的 JVM 选项,这些选项将通过 -vmargs
选项传递给 Eclipse 可执行文件。
Eclipse -vmargs
选项用于自定义要运行 Eclipse 的 Java VM 操作。如果指定了该选项,则此选项必须出现在命令行末尾。即使没有在可执行命令行上进行指定,可执行也将会自动把相关参数(包括正在启动的类)添加到使用 -vmargs
参数传递到 Java 的命令行中。然后 Java Main 将该值存储在 eclipse.vmargs 中。
用法是 -vmargs [vmargs*] (Executable, Main)
-settings
指定用于配置执行首选项的设置文件。该文件中的设置指定了 DTP 设置、电子邮件设置和许可证设置等详细信息。使用 -property
选项指定的具有相同键值的设置将覆盖使用该选项传递的设置,与它们在命令中的顺序无关。
设置文件是一个属性文件。这些文件可以控制报告首选项,报告应发送给谁,如何标注报告,使用什么邮件服务器和域等等。
该选项可用于通过启动 SOAtest 或 Virtualize 的可执行文件(例如 soatest.exe、virtualize.exe 或 eclipse.exe)从命令行将设置导入 GUI。以这种方式使用时,该属性文件中的所有设置都会替换当前工作空间中的设置。例如:
soatest.exe -settings <path to properties file>
dtp.autoconfig
设置不适用于 GUI,在导入过程中会被忽略。
有关创建设置文件的详情,请参阅设置文件 - 选项。
-machineid
打印机器码。机器码用于授权用途。
-prefs
指定要导入的 Eclipse 工作空间首选项文件。指定的值被解释为 URL 或本地 Eclipse 工作空间首选项文件的路径。创建工作空间首选项文件的最佳方法是使用导出向导。操作步骤:
- 前往文件> 导出。
- 在 Export 向导中,选择 Preferences,点击 Next。
- 请执行以下任一操作:
- 若要向文件添加所有首选项,请选择 Export all。
- 若只向文件添加特定首选项,请选择 Choose specific preferences to export,然后启用要导入的首选项。
- 点击 Browse...,然后指明将首选项文件保存到何处。
- 点击 Finish。
我们建议删除不适用于 SOAtest 的属性,只保留关键属性,如 classpath
属性。此外,我们建议您通过使用 $(VAR)
符号使用变量替换机器/用户指定的位置。这些变量将替换为相应的 Java 属性,通过使用 -J-D
选项(比如 soatestcli -J-DHOME=/home/user
)。运行 soatestcli
。
例如:
-prefs "http://intranet.acme.com/SOAtest/workspace.properties"
-prefs "workspace.properties"
-property
您可以直接在命令行中配置单个设置。使用以下格式:key=value
.
您可以多次使用该选项在同一命令行中配置多个设置。拥有相同键的早期条目将被覆盖。此外,使用该选项传递的设置将覆盖使用 -settings
选项指定的具有相同键的设置,与它们在命令中的顺序无关。
示例:
-property session.tag=sa_linux -property report.dtp.publish=true -property techsupport.auto_creation=true
该选项可用于通过启动 SOAtest 或 Virtualize 的可执行文件(例如 soatest.exe、virtualize.exe 或 eclipse.exe)从命令行将设置导入 GUI。以这种方式使用时,您指定的设置将取代当前工作空间中的设置。例如:
soatest.exe -property report.dtp.publish=true
dtp.autoconfig
设置不适用于 GUI,在导入过程中会被忽略。
-publish
启用或禁用向 DTP 报告中心发布报告。要求使用 DTP 5.3.x 或更高版本。True
值表示向 DTP 发布报告,false
值表示禁用发布报告。默认为 false
。
与 DTP 的连接在设置文件中配置。
-refresh
刷新工作空间,使其与文件系统重新同步。如果您在工作平台外对工作空间做了更改,则这一步尤为重要。
-resource
指定要运行测试套件的路径。要运行单个测试套件,请指定相对于工作空间的 .tst 路径。若运行目录中的所有测试套件,则指定相对工作空间的目录路径。在命令中多次使用该选项可指定多个资源。当资源路径包含空格或其他非字母字符时,请使用引号。所有路径(包括绝对路径)都相对于 -data
参数指定的工作空间。
您可以指定以下类型的资源:
.tst 文件 | 指定 .tst 文件的路径,以执行文件中包含的所有测试。 |
---|---|
目录 | 指定工作空间中某个目录的路径,以执行该目录中的所有测试套件。 |
.properties 文件 | 指定 .properties 文件的路径,文件中为 com.parasoft.xtest.checkers.resources 属性配置的值将被解释为以冒号分隔的资源列表。只有一个 .properties 文件可以使用这种方式指定。 |
.lst 文件 | 指定 .lst 文件的路径,文件中的每一行都将被视为一个资源。如果没有相似命令行上指定资源,则将测试整个工作空间。 |
团队项目配置文件(PSF) | PSF 支持 SVN 和其他源系统,具体取决于所安装的 Eclipse 插件功能。 |
例如:
-resource "Acme Project" -resource "/MyProject/tests/acme" -resource testedprojects.properties
如果指定来自不同项目的多个测试,测试将按多个 -resource
参数或 .lst 文件中指定的顺序逐个项目进行分组。
与第一个资源在同一项目中的所有测试将优先于不同项目中的任何测试运行。如果按以下顺序指定资源,例如:
/ProjectA/A.tst, /ProjectB/B.tst, /ProjectA/C.tst
则会将按以下顺序执行:
- /ProjectA/A.tst
- /ProjectA/C.tst
- /ProjectB/B.tst.
-report
生成报告并根据指定的名称和路径保存。该报告包括一个包含报告数据的 XML 文件和一个用于显示数据的 HTML 文件。还可以通过在 report.format
选项中指定 PDF 或自定义格式,配置 SOAtest 以生成报告。该选项在设置文件中指定(请参阅 -settings)。如果指定的值中未包含路径,报告将在执行目录中生成。
以下所有命令将生成 HTML 报告 filename.html 和 XML 报告 filename.xml。
-report filename.xml
-report filename.htm
-report filename.html
如果指定的路径以 ".html"/".htm"/ ".xml” 扩展名结尾,则它将被视为要生成的报告文件的路。否则,它将被视为应该生成报告的目录。
如果文件名在命令中显示指定,且使用此名的文件早已存在指定位置,则将重写之前的报告。如果命令没有显式指定文件名,现有报告文件将不会被覆盖;新文件将命名为 repXXXX.html,其中 XXXX 是一个随机数。
如果未指定 -report
选项,报告将以默认名称“report.xml/html”在当前目录下生成。
-router
指定要在测试套件中搜索的参数和要替换的值。
在下面的示例中,用 searchURI
指定的 URI 将被用 replaceURI
指定的值替换:
-router searchURI:host1.adobe.com replaceURI:host2.adobe.com
在下面的示例中,searchURI
会匹配所有 URI,并用 replaceURI
:
-router searchURI:* replaceURI:http://host2.adobe.com/service 指定的值进行替换
此选项只适用于 SOAP 客户端。
不推荐使用此功能。请使用 Environments。
-showdetails
在控制台打印详细的测试进度信息。
-showsettings
打印当前设置和自定义设置以及配置位置信息(例如,在 settings.properties 文件中)。有关可配置的设置列表,请参阅配置设置。
-testName
指定与要运行的测试名称或部分名称匹配的字符串。SOAtest 在资源中搜索包含指定字符串的测试,但不执行通配符或 regex 等程序模式匹配。如果测试包含空格,请使用引号。
在下面的示例中,将运行名为 WSDL Tests
的测试或测试套件:
soatestcli.exe -data "C:\workspace" -resource "MyService.tst" -config "user://Example Configuration" -testName "WSDL Tests"
使用 match:
限定符搜索包含特定字符串的测试。在下面的示例中,任何包含 MyTest
字符串的测试都将运行:
soatestcli.exe -data "C:\workspace" -resource "MyService.tst" -config "user://Example Configuration" -testName match: MyTest
您可以使用多个 -testName
标志来指定多个测试:
soatestcli.exe -data "C:\workspace" -resource "MyService.tst" -config "user://Example Configuration" -testName "name1" -testName "name2"
如果测试使用数据源中的数据,可以使用紧跟在 match:
参数后面的 dataSourceRow:
和 dataSourceName:
参数来限制用于执行测试的数据行范围。dataSourceName:
参数为可选参数,但在使用时必须出现在 dataSourceRow:
参数之后,例如:
soatestcli.exe -data "C:\workspace" -resource "MyService.tst" -config "user://Example Configuration" -testName match: "MyTest" dataSourceRow: 1 dataSourceName: "MyData"
dataSourceRow:
参数的值可以指定为单行或一系列行。以下为有效值示例:
5
1,2,5
3-9
2-5,7,20-30
dataSourceRow:
和 dataSourceName:
参数也可作为独立选项使用。请参阅 -dataSourceRow 和 -dataSourceName。
-visualStudio
将测试结果报告到 Microsoft Visual Studio Team System。允许将结果发送回 Microsoft Visual Studio Team System。详情请参阅使用 Microsoft 与 SOAtest。
-version
显示 SOAtest 版本号。
-workItems
指定以逗号分隔的工作项 ID 列表。测试范围将被限制为与这些工作项相关的资源。请参阅 使用需求视图 获取更多信息。