服务器的大多数配置设置都在位于 <SOAVIRT_HOME>/WEB-INF
目录中的 config.properties 中指定。本节的设置涉及最常用的选项,但您可以指定更高级的设置以及测试配置设置。请参阅以下部分:
使用斜杠,而不是反斜杠
在 config.properties 中编辑 Windows 文件路径时,请确保使用的是前斜杠而不是后斜杠。
正确:c:/my/workspace
不正确:c:\my\workspace
章节目录:
基本配置选项
- parasoft.eula.accepted
- working.dir
- logging.config.file
- scripting.timeout.minutes
- server.hostname
- server.port.http
- server.port.https
- env.manager.server
- env.manager.server. name
- env.manager.username
- env.manager.password
- env.manager.notify
- env.manager.registry.id
- soatest.license.enabled
- virtualize.license.enabled
- soatest.license.use_network
- soatest.license.network.edition
- soatest.license.custom_edition_features
- virtualize.license.use_network
- virtualize.license.network.edition
- virtualize.license.custom_edition_features
- dtp.url
- dtp.server(已弃用)
- dtp.port(已弃用)
- dtp.user
- dtp.password
- license.network.url
- license.network.host(已弃用)
- license.network.port(已弃用)
- license.network.user
- license.network.password
- license.network.connection.type
- license.network.auth.enabled
- virtualize.license.local.password
- virtualize.license.local.expiration
- usage.reporting.enabled
- security.kerberos.realm
- security.kerberos.kdc.server
parasoft.eula.accepted
该选项将属性设置为接受《Parasoft 最终用户许可协议》(EULA)。默认为 false
。您必须接受 EULA 才能使用该产品。请前往 https://www.parasoft.com/license 阅读 EULA。
示例使用
parasoft.eula.accepted=true
working.dir
该选项指定到 SOAVIRT 工作目录的绝对路径。如果不指定,将在 <SOAVIRT_HOME> 文件夹中创建一个名为 ‘workspace’ 的默认工作目录。我们建议更改默认目录,使工作空间不在 <SOAVIRT_HOME> 文件夹下,因为升级至服务器的新版本可能会重写工作空间。
logging.config.file
此选项使用内置或自定义 log4j2 配置更改日志级别。如果未指定,则默认值为 /WEB-INF/default.logging.xml
。
可以使用绝对路径或相对路径指定配置。相对路径的根是 <SOAVIRT_HOME> 目录位置。在 /WEB-INF/
文件夹中,服务器提供了两个可用的内置配置:
- default.logging.xml: 记录 INFO、WARN 和 ERROR 消息的标准 log4j2 配置。
- debug.logging.xml: 标准 log4j2 配置,提供具有扩展详细信息的详细日志记录。
可以根据需求修改这些内置配置;详情请参阅 log4j2 文档。
示例使用
logging.config.file=/WEB-INF/default.logging.xml
如果将 WAR 解压到 c:/wars/soavirt
,服务器会将 logging.config.file 的相对位置解析为绝对路径 c:/wars/soavirt/WEB-INF/default.logging.xml
。
logging.config.file=d:/MyConfigurations/default.logging.xml
scripting.timeout.minutes
该选项指定 Virtualize 试图停止无响应的脚本并记录错误消息的分钟数。默认为 10
。
示例使用
scripting.timeout.minutes=5
server.hostname
该选项指定 CTP 用来连接服务器的主机名。在大多数情况下,该选项不需要配置。但是,如果服务器容器或网络基础设施阻碍了连接的建立,而远程主机又无法确定返回服务器的有效连接方式,则可能需要使用该选项。在使用容器环境时可能会出现这种情况。
server.port.http
该选项告诉 CTP Parasoft Virtualize 服务器正在监听 HTTP 的哪个端口。必须指定 server.port.http 或 server.port.https port。该值必须匹配部署在 Parasoft Virtualize 服务器下的 HTTP 端口。
server.port.https
该选项告诉 CTP Parasoft Virtualize 服务器正在监听 HTTPS 的哪个端口。必须指定 server.port.https 或 server.port.http port。该值必须匹配部署在 Parasoft Virtualize 服务器下的 HTTPS 端口。
env.manager.server
该选项指定 CTP 服务器的位置。确保指定端口和协议(http/https)。冒号必须用反斜杠 ( \ ) 字符进行转义。
示例使用
env.manager.server=http\://em.parasoft.com\:8080/
env.manager.server=https\://em.parasoft.com\:9443/
使用 REST API 设置属性
也可以在服务器启动后使用 REST API 设置该属性。注意,与 .properties 文件中 CTP 相关的设置被命名为“env.manager”,指的是旧名称 Environment Manager(环境管理器)。然而,API 中的 CTP 项目被标记为“ctp”。这些设置指的是相同的组件。
- 启动服务器,并进入端点以写入 .properties 文件:
http://<HOST>:<PORT>/soavirt/api/v5#!/preferences/preferencesPUT_config
- 点击 Try it out,并将持续测试平台(CTP)服务器设置作为 JSON 对象输入 input 字段。
- 点击 Execute 更新服务器上的配置。
可以复制以下示例 JSON,将其粘贴到 input 字段,然后将值更改为您的安装:
{ "ctp": { "server": "<your-ctp-server>:<port>", "name": "<your-ctp-server-name>", "username": "<your-username>", "password": "<your-password>", "notify": false, } }
env.manager.server. name
该选项指定将用于在 CTP 中标识该服务器的名称。可以使用任何有助于识别此服务器的值。
示例使用
env.manager.server.name=MyVirtServerLabel
使用 REST API 设置属性
也可以在服务器启动后使用 REST API 设置该属性。详情请参阅env.manager.server。
env.manager.username
该选项指定登录到 CTP 的用户名。
示例使用
env.manager.username=me
使用 REST API 设置属性
也可以在服务器启动后使用 REST API 设置该属性。详情请参阅env.manager.server。
env.manager.password
该选项指定登录到 CTP 的(纯文本或已编码)密码。
强烈建议对密码进行编码,以保证成功进行身份验证和安全连接。WAR 发布包含一个可以对密码进行编码的脚本。使用时需运行:
<SOAVIRT_HOME>/scripts/encodepass.sh <YOUR_PASSWORD>
或
<SOAVIRT_HOME>/scripts/encodepass.bat <YOUR_PASSWORD>
来执行密码编码。
您还可以使用 -encodepass
标志运行 SOAtest 或 Virtualize 的命令行实例。例如:
soatestcli.exe -encodepass <YOUR_PASSWORD>
virtualizecli.exe -encodepass <YOUR_PASSWORD>
这两种方法都会生成一个编码字符串,您可以用它来代替 SOAtest 和 Virtualize 服务器配置文件中的密码属性。 有关命令行选项的更多信息,请参阅 CLI 选项。
示例使用
env.manager.password=12345
使用 REST API 设置属性
也可以在服务器启动后使用 REST API 设置该属性。详情请参阅env.manager.server。
env.manager.notify
当部署虚拟资产时,此选项启用/禁用对 Parasoft CTP 的通知。
示例使用
以下示例启用通知:
env.manager.notify=true
使用 REST API 设置属性
也可以在服务器启动后使用 REST API 设置该属性。详情请参阅env.manager.server。
env.manager.registry.id
CTP 仅使用只读设置。
soatest.license.enabled
此选项启用/禁用与 SOAtest 功能性相关的许可证。默认为 true
。如果此选项没有出现在 .properties 配置文件中,则使用默认值。如果将此选项设置为 false
,则将忽略其他与许可证相关的设置。
示例使用
soatest.license.enabled=true
virtualize.license.enabled
此选项启用/禁用与 Virtualize 功能性相关的许可证。默认为 true
。如果此选项没有出现在 .properties 配置文件中,则使用默认值。如果将此选项设置为 false
,则将忽略其他与许可证相关的设置。
示例使用
virtualize.license.enabled=true
soatest.license.use_network
此选项启用/禁用网络上的授权。如果正在使用网络许可证,则还必须配置到许可证服务器或 Parasoft DTP的连接。
配置以下选项来连接到许可证服务器:
配置以下选项来连接到 DTP:
示例使用
以下示例启动网络上的授权:
soatest.license.use_network=true
soatest.license.network.edition
此选项指定从 License Server 或 DTP检索到的许可证类型。可以指定 custom_edition
,也可以指定为 professional_ edition
。如果不确定应该设置哪个版本,请联系您的 Parasoft 代表。
示例使用
soatest.license.network.edition=custom_edition
soatest.license.custom_edition_features
此选项指定一个逗号分隔的特性列表,这些特性应该要求 License Server 或 DTP 自定义版本的许可证。如果不确定应该指定哪个功能,请联系您的 Parasoft 代表。
示例使用
soatest.license.custom_edition_features=RuleWizard,Command Line,SOA,Web,Server API Enabled,Jtest Connect,Message Packs,Advanced Test Generation Desktop,Advanced Test Generation 100 Users
virtualize.license.use_network
此选项启用/禁用网络上的授权。如果正在使用网络许可证,则还必须配置到 Parasoft DTP 或许可证服务器(不建议)的连接。
配置以下选项来连接到许可证服务器:
配置以下选项来连接到 DTP:
示例使用
以下示例启动网络上的授权:
virtualize.license.use_network=true
virtualize.license.network.edition
此选项指定从 DTP 或许可证服务器检索到的许可证类型。可以指定 custom_edition
,也可以指定为 professional_ edition
。如果不确定应该设置哪个版本,请联系您的 Parasoft 代表。
示例使用
virtualize.license.network.edition=custom_edition
virtualize.license.custom_edition_features
此选项指定一个逗号分隔的特性列表,这些特性应该要求自定义版本的 DTP 或许可证服务器的许可证。如果不确定应该指定哪个功能,请联系您的 Parasoft 代表。
示例使用
virtualize.license.custom_edition_features=Virtualize,Validate,Performance,Extension Pack,Service Enabled,Unlimited Hits/Day
dtp.url
该选项是 DTP 服务器的 URL。包括协议和主机名或 IP 地址,并在适用情况下包括端口和上下文路径。
示例使用
https://10.9.1.63:8443
dtp.server(已弃用)
选项指定 DTP 服务器的主机名。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。该选项已被弃用。
示例使用
dtp.server=main1.parasoft.com
dtp.port(已弃用)
选项指定 DTP 服务器的端口号。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。该选项已被弃用。
示例使用
dtp.port=8080
dtp.user
该选项指定用于 DTP 身份验证的用户名。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。
示例使用
dtp.user=admin
dtp.password
该选项指定 DTP 身份验证的密码。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。
示例使用
dtp.user=mypassword
license.network.url
该选项指定许可证服务器的 URL。包括协议和主机名或 IP 地址,并在适用情况下包括端口和上下文路径。
示例使用
https://10.9.1.63:8443
license.network.host(已弃用)
选项指定许可证服务器的主机名。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。该选项已被弃用。
license.network.port(已弃用)
选项指定许可证服务器的主机端口。还必须将 virtualize.license.use_network
选项设置为 true
(请参阅 virtualize.license.use_network)。该选项已被弃用。
license.network.user
指定通过 license.network.url
选项指定的次要 DTP 服务器上用于身份验证的用户名。此选项要求将 license.network.use.specified.server
和 license.network.auth.enabled
选项设置为 true
。
示例:license.network.user
=JohnDoe
license.network.password
指定通过 license.network.url
选项指定的次要 DTP 服务器上用于身份验证的密码。此选项要求将 license.network.use.specified.server
和 license.network.auth.enabled
设置为 true
,并且 license.network.user
已经配置。
强烈建议对密码进行编码,以保证成功进行身份验证和安全连接。WAR 发布包含一个可以对密码进行编码的脚本。使用时需运行:
<SOAVIRT_HOME>/scripts/encodepass.sh <YOUR_PASSWORD>
或
<SOAVIRT_HOME>/scripts/encodepass.bat <YOUR_PASSWORD>
来执行密码编码。
您还可以使用 -encodepass
标志运行 SOAtest 或 Virtualize 的命令行实例。例如:
soatestcli.exe -encodepass <YOUR_PASSWORD>
virtualizecli.exe -encodepass <YOUR_PASSWORD>
这两种方法都会生成一个编码字符串,您可以用它来代替 SOAtest 和 Virtualize 服务器配置文件中的密码属性。 有关命令行选项的更多信息,请参阅 CLI 选项。
license.network.use.specified.server
此选项允许服务器连接 DTP 和许可证服务器,或同时出现的两个 DTP 实例。如果将此选项设置为 true
,请使用 license.network.connection.type 设置指定许可证网络连接。
license.network.connection.type
此选项指定是否通过 TCP 连接到 DTP/许可证服务器。 建议通过安全端口(SSL)使用 HTTP。
默认为 http。
license.network.auth.enabled
启用或禁用通过 license.network.url
选项指定的次要 DTP 服务器上的身份验证。
此选项要求将 license.network.use.specified.server
选项设置为 true
。
virtualize.license.local.password
此选项指定用于本地 Virtualize 许可证的密码。还必须将 virtualize.license.use_network
选项设置为 false
(请参阅 virtualize.license.use_network)。
virtualize.license.local.expiration
此选项指定用于本地 Virtualize 许可证的有效期。还必须将 virtualize.license.use_network
选项设置为 false
(请参阅 virtualize.license.use_network)。
usage.reporting.enabled
此设置可启用或禁用收集匿名使用信息并将其发送给 Parasoft。请阅读我们的隐私声明,了解更多信息:https://www.parasoft.com/privacy-policy。
示例使用
下面的示例启用了匿名使用数据报告功能:
usage.reporting.enabled=true
security.kerberos.realm
该选项指定与网络相关的 Kerberos 域。按照惯例,域名通常全部大写(例如:PARASOFT.COM)。
有关更多信息,请参阅其他首选项设置安全设置页面中的“关于 Kerberos 身份验证”。
security.kerberos.kdc.server
该选项指定密钥分发中心的主机名(例如,kdc.parasoft.com)。
有关更多信息,请参阅其他首选项设置安全设置页面中的“关于 Kerberos 身份验证”。
报告设置
- session.tag
- build.id
- report.format
- report.custom.extension
- report.custom.xsl.file
- report.developer_errors
- report.developer_reports
- report.authors_details
- report.testcases_details
- report.associations
- report.assoc.url.[tag]
- report.failed_tests_only
- report.env_details
- report.output_details
- report.test_suites_only
session.tag
此设置指定用于对测试会话的结果进行签名的标记。该标记可以是字符串、一个或多个变量,也可以是组合。不同测试会话的报告应该使用不同会话标签来标记,以便将类似的运行彼此区分开来。默认为 session.tag=${config_name
}
示例使用
可以使用 session 标签来表示在特定测试环境中对特定代码分支所做的特定分析类型。以下配置可以识别针对不同操作系统上的 master 分支的功能测试:
session.tag=ft_master_${os}
build.id
此设置指定用于标记结果的生成标识符。对于每个构建,它可能是独一无二的,但也可能标记在指定的构建期间执行的多个测试会话。默认为 ${dtp_project}-${time}
。
示例使用
默认构建 ID 包括 DTP 中的项目名称和构建日期。例如,对于 ATM 项目,报告中包含的构建 ID 可能类似如下:ATM-2017-07-07。
以下配置指定了自定义构建 ID,该 ID 由项目名称和通过环境变量 BUILD
传递的构建编号组成:
build.id=${dtp_project}-${env_var:BUILD}
例如 ABC 项目和 CI 服务器上的构建编号 114 可以解析为 ABC-114
。
report.format
此设置指定报告格式。使用逗号分隔的格式值列表,可发布多种格式的报告。默认情况下,会发布包含数据的 XML 报告和用于呈现数据的 HTML 文件。支持以下值:
- xml(默认)
- html(默认)
- csv
- 自定义(请参阅 report.custom.extension 和 report.custom.xsl.file 了解用法)
report.custom.extension
此设置指定自定义报告的文件扩展名。自定义格式在 XSL 文件中定义。report.format 选项必须设置为自定义,并且还必须配置 report.custom.xsl.file 选项。
report.custom.xsl.file
此设置指定用于创建自定义报告格式的 XSL 文件的路径。在 Windows 上指定文件路径时使用双反斜线。
report.developer_errors
此设置决定管理员报告中是否应该包含开发人员错误的详细信息。设置为 true
表示在报告中包含开发人员错误,设置为 false
表示在报告中不包含开发人员错误。默认为 true
。
report.developer_reports
此设置决定是否除了为管理人员生成摘要报告外,还应该生成针对所有开发人员的详细报告。设置为 true
,启用为开发人员启用生成的详细报告。设置为 false
,禁用为开发人员启用生成的详细报告。默认为 true
。
report.authors_details
此设置决定报告中是否应该包含分配给每个开发人员的任务数量和类型的概述。设置为 true
表示包含分配给每个开发人员的任务类型和数量。设置为 false
表示不包含分配给每个开发人员的任务类型和数量。默认为 true
。
report.testcases_details
此设置决定报告中是否应该其他测试用例的详细信息。设置为 true
表示包含其他测试用例的详细信息。设置为 false
表示不包含其他测试用例的详细信息。默认为 false
。
report.associations
此设置启用或禁用在报告中显示与测试关联的需求、缺陷、任务和特性请求。设置为 true
表示在报告中包含需求、任务和特性请求。设置为 false
表示在报告中不包含需求、任务和特性请求。默认为 false
。
report.assoc.url.[tag]
此设置生成指向 HTML 报告内关联的链接。URL 是一个查询字符串,包含问题标识符的 [%ID%]
或 ${id}
占位符。支持标签有 pr
、fr
、task
、req
和 test
。
示例使用
下面的示例在 HTML 报告中创建了一个到 Bugzilla 中的 PR 的链接:
report.assoc.url.pr=http://bugzilla.company.com/show_bug.cgi?id=[%ID%]
report.failed_tests_only
此设置决定报告中是否应该只包含测试失败的信息。此选项仅对功能测试工具有效。设置为 true
表示只在报告中包含失败的测试信息。设置为 false
表示报告中包含所有测试信息。默认为 false
。
report.env_details
此设置可打开 XML 报告中有关运行 tst 时所用活动环境的其他详细信息。默认为 false
。
report.output_details
此设置可打开 XML 报告中有关运行 tst 时执行的输出工具的其他详细信息。默认为 false
。
report.test_suites_only
此设置决定报告的摘要部分是否只列出顶级套件,或者是否显示单个测试的树状视图。设置为 true
表示在报告摘要部分中只包括顶级套件。设置为 false
表示包括单个测试的树状视图。默认为 true
。
添加自定义/外部 Jars
可以让 Parasoft Virtualize 服务器使用外部/自定义 jar(例如,Parasoft SOAtest/Virtualize 自定义扩展、第三方 jar、JDBC 驱动程序等)。
- 使用一项以下方法添加 jar:
- 将 jar 复制到
<WORKSPACE>/VirtualAssets/system_jars
文件夹中,该文件夹是 Parasoft Virtualize 服务器搜索要加载的自定义/外部 jar 文件的位置。如果该文件夹不存在,则添加该文件夹。 - 使用功能 REST API 上传操作(
/v5/files/upload
)上传 jar,如 Swagger 文档中所述(请参阅 API 使用)。上传应该指定/VirtualAssets/system_jars
作为父文件夹。如果/VirtualAssets/system_jars
文件夹不存在,则应创建一个。
- 将 jar 复制到
- 使用一项以下方法重新加载 jar:
- 如果 jar 包含 Virtualize 自定义扩展,重启服务器。
否则,可以重启服务器,也可以调用
/v5/preferences/systemProperties/reload
REST API。
额外的配置注意事项
如果希望将 Parasoft Virtualize 服务器的 HTTP 响应修改为“Server” HTTP Header 的值(这是基于 Eclipse 的传统 Virtualize 服务器部署的默认设置),则需要修改 servlet 的容器配置。
某些 servlet 容器拒绝 Trace 请求(例如,使用 TRACE HTTP 方法的 HTTP 请求)。如果您的 servlet 容器拒绝 Trace 请求,而您希望 Parasoft 服务器支持 Trace 请求(如基于 Eclispe 的传统的 Virtualize 服务器部署所设置),则需要相应地更新您的 servlet 容器配置。