服务器的大多数配置设置都在位于 <SOAVIRT_HOME>/WEB-INF 目录中的 config.properties 中指定。本章节中的设置是最常用的选项,但你可以指定更高级设置以及测试配置设置。查看以下部分:

使用前斜杠,而不是后斜杠

在 config.properties 中编辑 Windows 文件路径时,请确保使用的是前斜杠而不是后斜杠。

正确:c:/my/workspace

不正确:c:\my\workspace

在本章节中:

基本配置选项


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"。这些设置引用相同组件。

  1. 启动服务器,并进入端点以写入 .properties 文件:

    http://<host>:<port>/soavirt/api/v5#!/preferences/preferencesPUT_config
     
  2. 单击 Try it out!,并将 CTP 服务器设置作为 JSON 对象输入 input 字段。
  3. 单击 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 的(纯文本或已编码)密码。 

强烈推荐使用 -encodepass 标记运行 SOAtest 或 Virtualize 的命令行实例,以确保成功认证和安全连接。例如:

soatestcli.exe -encodepass <your_password> 

virtualizecli.exe -encodepass <your_password> 

命令行工具将生成一个编码的字符串,您可以使用该字符串代替 SOAtest 和 Virtualize 服务器配置文件中的 password 属性。 有关其他信息,请查阅 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,Stub Desktop,Stub Server,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.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 选项。

license.network.user

使用 license.network.host 和 license.network.port 选项指定辅助 DTP 服务器上身份验证的用户名。此选项要求将 license.network.use.specified.serverlicense.network.auth.enabled 选项设置为 true

例如: license.network.user=JohnDoe

license.network.password

通过设置以下两个选项指定辅助 DTP 服务器上身份验证的密码: license.network.host和 license.network.port此选项要求将 license.network.use.specified.serverlicense.network.auth.enabled 设置为 true ,并且 license.network.user 已经配置。

强烈建议对密码进行编码,以保证成功进行身份验证和安全连接。可以使用 -encodepass 标志运行 SOAtest 或 Virtualize 的命令行实例对密码进行编码。命令行工具将生成编了码的字符串,并且可在  配置文件中使用。 例如:

soatestcli.exe -encodepass <your_password> 

virtualizecli.exe -encodepass <your_password> 

命令行工具将生成一个编码的字符串,您可以使用该字符串代替 SOAtest 和 Virtualize 服务器配置文件中的 password 属性。 有关其他信息,请查阅 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.host 和 license.network.port 选项启用或禁用辅助 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)。

报告设置


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} 。支持标签有 prfrtaskreqtest

示例使用

下面的示例在 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 服务器。

  1. 使用一项以下方法添加 jar:
    • 将 jar 复制到 <workspace>/VirtualAssets/system_jars 文件夹中,该文件夹 Parasoft Virtualize 服务器搜索要加载的自定义/外部 jar 文件的位置。如果该文件夹不存在,则添加该文件夹。
    • 使用功能 REST API 上传操作(/v5/files/upload)上传 jar,如 Swagger 文档中所述(请查阅 API 使用)。上传应该指定 /VirtualAssets/system_jars 作为父文件夹。如果 /VirtualAssets/system_jars 文件夹不存在,则应创建一个。
  2. 使用一项以下方法重新加载 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 容器配置。

  • No labels