服务器的大多数配置设置都在位于 <SOAVIRT_HOME>/WEB-INF 目录中的 config.properties 中指定。本章节中的设置是最常用的选项,但你可以指定更高级设置以及测试配置设置。查看以下部分:
使用前斜杠,而不是后斜杠
在 config.properties 中编辑 Windows 文件路径时,请确保使用的是前斜杠而不是后斜杠。
正确:c:/my/workspace
不正确:c:\my\workspace
在本章节中:
基本配置选项
- working.dir
- logging.config.file
- scripting.timeout.minutes
- 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.server
- dtp.port
- dtp.user
- dtp.password
- license.network.host
- license.network.port
- virtualize.license.local.password
- virtualize.license.local.expiration
working.dir
该选项指定到 SOAVIRT 工作目录的绝对路径。如果不指定,将在 <SOAVIRT_HOME> 文件夹中创建一个名为 ‘workspace’ 的默认工作目录。我们建议更改默认目录,使工作空间不在 <SOAVIRT_HOME> 文件夹下,因为升级至服务器的新版本可能会重写工作空间。
logging.config.file
此选项使用内置或自定义 log4j 配置更改日志级别。如果未指定,则默认值为 /WEB-INF/default.logging.xml。
可以使用绝对路径或相对路径指定配置。相对路径的根是 <SOAVIRT_HOME> 目录位置。在 /WEB-INF/ 文件夹中,服务器提供了两个可用的内置配置:
- default.logging.xml: 标准 log4j 配置,只记录错误。
- debug.logging.xml: 标准 log4j 配置,提供具有扩展详细信息的详细日志记录。
可以根据需求修改这些内置配置;关于更多详情,请查阅 log4j 文档。
示例使用
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.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
- 将持续测试平台(CTP)服务器设置作为 JSON 对象输入 input 字段,然后单击 Try it out!。
可以复制以下示例 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 的(纯文本或已编码)密码。
与基于 Eclipse 的标准 Parasoft 产品一样,你可以在 virtualizecli 命令行(来自基于 Eclipse 的服务器)中使用 –encodepass <plain password>
选项,来生成给第密码的编码版本。
示例使用
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=Virtualize,Validate,Performance,Extension Pack,Service Enabled,Unlimited Hits/Day
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.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.host
选项指定许可证服务器的主机名。还必须将 virtualize.license.use_network
选项设置为 true
(请查阅 virtualize.license.use_network)。9.10.3 版本中此选项已弃用,应该替换为 dtp.server 选项。
license.network.port
选项指定许可证服务器的主机端口。还必须将 virtualize.license.use_network
选项设置为 true
(请查阅 virtualize.license.use_network)。9.10.3 版本中此选项已弃用,应该替换为 dtp.port 选项。
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)。
报告设置
session.tag
此设置指定用于对测试会话的结果进行签名的标记。该标记可以是字符串、一个或多个变量,也可以是组合。不同测试会话的报告应该使用不同会话标签来标记,以便 将类似的运行彼此区分开来。默认为 session.tag=${config_name
}
示例使用
可以使用 session 标签来表示在特定测试环境中对特定代码分支所做的特定分析类型。以下配置可以识别针对不同操作系统上的 master 分支的功能测试:
session.tag=ft_master_${os}
build.id
此设置指定用于标记结果的生成标识符。对于每个构建,它可能是独一无二的,但也可能标记在指定的构建期间执行的多个测试会话。默认为 ${dtp_project}-yyyy-MM-dd
。
示例使用
默认构建 ID 包括 DTP 中的项目名称和构建日期。例如,对于 ATM 项目,报告中包含的构建 ID 可能类似如下:ATM2-2017-07-07。
以下配置指定自定义 abc_project
id:
build.id=abc_project
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
和 asset
。
示例使用
下面的示例在 HTML 报告中创建了一个到 Bugzilla 中的 PR 的链接:
report.assoc.url.pr=http://bugzilla.company.com/show_bug.cgi?id=[%ID%]
report.failed_tests_only
此设置决定报告中是否应该只包含测试失败的信息。此选项仅对功能测试工具有效。设置为 true
表示只在报告中包含失败的测试信息。设置为 false
表示报告中包含所有测试信息。默认为 false
。
report.test_suites_only
此设置决定报告的摘要部分是否只列出顶级套件,或者是否显示单个测试的树状视图。设置为 true
表示在报告摘要部分中只包括顶级套件。设置为 false
表示包括单个测试的树状视图。默认为 true
。
添加自定义/外部 Jars
可以使外部/自定义 jars(比如,Parasoft SOAtest/Virtualize 自定义扩展、第三方 jar、JDBC 驱动程序等)可用于 Parasoft Virtualize 服务器。
- 使用一项以下方法添加 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 包含 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 容器配置。