本节描述了在 Parasoft> Preferences 菜单中为 SOAtest 和 Virtualize 提供的其他配置设置。

浏览器设置

浏览器面板允许您设置与 Web 场景纪录相关的选项。可用设置包括:

代理配置详情

当在浏览器中记录或运行 web 场景时,浏览器中的代理设置将被设置为一个由 SOAtest 和/或 Virtualize 维护的内部代理。在录制和回放期间,与浏览器之间的所有通信都要通过内部代理进行,内部代理是用于捕获流量并促进执行的中介。在记录和回放期间,SOAtest 和/或 Virtualize 会使用浏览器回放设置的 Proxy port 选项的指定端口在本机上临时创建该代理。

内部代理的默认主机和端口是 localhost:55555。如果端口已占用,请使用控件 Proxy port field更改端口号。不要直接在浏览器中进行更改。

如果机器配置为使用您自己的代理,则您应该将 SOAtest 和/或 Virtualize 配置为指向该代理。这让 SOAtest 和/或 Virtualize 能够配置其内部代理,将所有通信转发到 Proxy Settings所配置的指定代理。

Internet Explorer 注意事项

SOAtest 和 Virtualize 修改全局注册表设置后,再启动该浏览器实例。如果在启动 SOAtest 或 Virtualize 之前(不推荐),IE 实例便在机器上上运行,则将不会在现有浏览器实例中设置全局注册表设置。

在这些情况下,请在 web 场景运行以验证指向 SOAtest 或 Virtualize 的代理时检查现有浏览器实例中的浏览器选项面板,并单击该面板中的 OK 。如果单击 OK,将更新现有浏览器实例中的代理设置。如果单击 Cancel,或不进入浏览器选项面板,则现有浏览器实例将永远不会获取代理设置,应该继续良好地导航。

如果浏览器异常退出,或如果存在挂起的浏览器进程等等,代理设置可能无法正确重置。这样的问题会影响新的浏览器实例(或连接到网络的其他程序)。如果发生这种情况,您可以通过将机器代理设置重置为正确的设置或关掉所有挂起的浏览器进程来解决该问题。

控制台设置

控制台面板允许您决定报告到控制台视图的信息数量,以及当它包含消息时是否自动激活。

持续测试平台测试

如果拥有一个持续测试平台(CTP)并且有一个有效许可证,则可以配置连接到 CTP:

全局数据源设置

全局数据源可以在单个 SOAtest 项目外部和跨 Virtualize 部署重复使用和共享。全局数据源面板允许您确定如何保存关于全局数据源的信息。

技术支持设置

如果您在使用 Virtualize 时遇到了问题,解决问题的最好方法便是创建一个关联文件的 zip 存档,然后将该 zip 文件发送至 Parasoft 支持团队。为了简化这个过程,您可以让产品在问题发生时自动创建存档。平均而言,这些存档大约有半兆字节,大约在一分钟内便可创建完成。

默认情况下,问题发生时不会创建存档。您可以在需要的时候手动准备并发送支持存档文件,或者您可以调整 Parasoft 存档创建选项以便问题发生时产品自动准备并发送存档。

若要配置该产品以在问题发生时自动准备并发送存档:

  1. 通过选中 Parasoft> Preferences 打开技术支持面板,然后选中 Parasoft> Technical Support 类别。
  2. 勾选中 Enable auto-creation of support archives
  3. 根据需求自定义其他选项。请注意, Enable auto-creation of support archives 以及 Send archives by email 不适用于 Virtualize。
  4. 单击 Apply,然后选中 OK

若要手动创建支持存档:

若要打开技术支持存档管理器,它允许您查看、发送邮件或删除最近的支持存档:

在创建支持存档时最好保证其包含所有与问题相关但不包含任何不相关的信息。若要保证发送到标准输出控制台是详细日志,请给 virtualizecli添加以下参数:

-J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/eclipse.on.xml

MIME 类型设置

MIME 类型面板允许您添加并删除 MIME 类型。此外,它还允许您指定首选文本和 XML 编辑器的位置,并允许您指定要使用哪个编辑器来编辑具有特定 MIME 类型的所有文件。

若要添加、编辑或删除一个 MIME 类型:

Miscellaneous 设置

Misc 面板允许您设置以下各种各样的设置:

代理设置

代理面板控制 SOAtest 和/或 Virtualize 如何与代理服务器一起工作。它不控制用于 web 场景的独立中间代理(有关其他代理的更多详情,请查阅 Proxy Configuration Details)。 

不需要身份验证的 HTTP 代理可以在管理远程 SOAtest 和 Virtualize 服务器时使用。需要身份验证的 HTTP 代理在向服务树添加远程 SOAtest 或 Virtualize 服务器时将不会应用。

脚本设置

脚本面板允许您指定用于自定义脚本的属性。

安全设置

安全面板允许您设置以下安全的设置:

若要执行使用 XML 签名验证器、XML 签名器或 XML 加密工具或如果使用密匙库的操作,您将需要下载并安装无限强度的 Java 加密扩展。有关更多详情,请查阅 JCE Prerequisite

密钥库是在测试或响应程序套件级别指定的。如果选中该选项,在 Certificate Private Key 选项卡中将获得以下选项:

关于 Kerberos 身份验证

Kerberos 身份验证被称为可信的第三方身份验证机制。客户端不直接请求访问某个服务,而是从另一个服务请求访问:管理网络端授权的密钥分发中心。该机制促进单点登录(SSO)。因此,客户端只需在给定的时间段内(通常为 8-10 小时)提供一次授权凭据。授权以票证的形式授予,票证可以在授予的时间段内缓存和重用,而无需重新验证。

受 Kerberos 保护网络中的实体,如客户端和服务端,被称为主体。Kerberos 保护的网络空间称为一个域。Microsoft 的 IIS (网络信息服务)服务器通过协商协议使用 Kerberos 提供基于 Http 的服务。其他服务器供应商提供 Microsoft 协商协议自己的实现。

从原始身份验证上接收到的票据被称为“票据授予票”或“TGT”。例如,在 Windows 环境中,TGT 是在早晨第一次登录到工作站上时生成的。通过从系统缓存中截取用户的 TGT,SOAtest 和/或 Virtualize 授权自己使用功能受 Kerberos 保护的服务。

有关常见 Kerberos 错误和如何处理它们的相关提示,请查阅 http://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/Troubleshooting.html

配置 Kerberos 身份验证 

  1. 在安全首选项面板配置以下选项:
  1. 选择要使用 Kerberos 身份验证的工具。
  2. 选择 Transport 选项卡并选中 Security ,其在 Transport 选项卡的左侧面板。

Transport 选项卡的安全面板中配置以下选项:

  1. 现在,当您调用工具时,所需的协商令牌将自动生成并作为 HTTP 头文件发送。

Kerberos 提供了一种机制来防止所谓的“重播”攻击,在这种攻击中,用户试图为服务提供捕获的重复凭证,以便访问它们。

JCE 前提条件

若要执行使用 XML 签名验证器、XML 签名器或 XML 加密工具或使用密匙库的安全操作,您将需要下载并安装无限强度的 Java 加密扩展。您可以这样做:

  1. 跳转至 http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 下载 JCE Unlimited Strength Jurisdiction 策略文件。
  3. 将所下载文件安装到机器的以下目录中:
    [Parasoft Test install dir]\[Parasoft Test version number]\plugins\com.parasoft.xtest.jdk.eclipse.core.[platform]_[jre version]\jdk\jre\lib\security
    例如:
    C:\Program Files\Parasoft\Test\9.10\plugins\com.parasoft.xtest.jdk.eclipse.core.win32.x86_64_1.8.0.102\jdk\jre\lib\security
    确保使用所下载的新文件代替现有的 local_policy.jar Us_export_policy.jar 文件。
  4. 重启 SOAtest 和/或 Virtualize。

若想查看系统中应该在何处添加无限制的 JCE 策略文件,请留意在双向 SSL 首选项中查看密匙库设置时显示的消息。

"Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files may need to be installed” 消息仅在尚未将 JCE 策略文件安装到正在运行的 JRE 时才会显示。正确安装文件后再重启产品,消息将不再显示。

服务器设置

服务器面板允许您为 SOAtest 和/或 Virtualize 服务器配置以下设置。 

SOAP 设置

SOAP 面板允许您指定以下设置:

您还可以自定义 SOAtest 和/或 Virtualize 如何序列化它们传输的 SOAP 对象,并反序列化它们接收的 SOAP 消息,但是此操作无法在首选项面板中进行。

SOAP 消息从 XML 反序列化为某种本机格式,对象被序列化为 XML 格式,以便它们可以作为响应发送。

若要添加 serializer/deserializer 对,您可向 register.py 文件中添加行,该文件在 <INSTALL_HOME>/plugins/com.parasoft.xtest.libs.web_<version>/root/startup directory路径下。您必须以编程方式使用 Jython 注册符合 Apache Axis 的序列化器。

对于 Axis,您可以通过调用 soatest.api.SOAPUtil.getDefaultAxisRegistry() 来截取使用的 TypeMappingRegistry。检索该注册表之后,可以根据需要使用 Axis API 注册序列化器。

系统属性设置

如果需要,系统属性设置面板允许您向类路径添加 JAR 文件,类文件夹和 Java 项目。使用可用控件添加或删除 JAR 文件、类文件夹以及 Java 项目。指定的 JAR文件、类路径和 Java 项目将被添加到系统的类路径中,相应的类将在重新启动 SOAtest 或 Virtualize 之后加载到 JVM 中。

单击 Reload 来迫使类路径项中的类重新加载。

如果希望 SOAtest/Virtualize 在更改或重编译后从 Eclipse 项目重新加载类,请启用 Automatically reload 类选项。

如果您想快速添加大量 jar 文件,或向 Parasoft 解决方案的无头实例中添加 jar 文件,请将它们复制到 工作空间中以下目录之一:

  • TestAssets/system_jars  

  • VirtualAssets/system_jars
这些目录下的 jar 文件在启动或单击首选项页面中的 Reload 后将自动加载。

在一个无头实例上,如果您想在无需重启 SOAtest 或 Virtualize 的情况下重新加载 jar,请从 EST API 调用 post /v<version>/preferences/systemProperties/reload。

流量文件处理设置

流量文件处理面板可以让您全局地指出,您希望在哪个时间忽略哪些值(如时间戳):

Virtualize 根据正则表达式自动配置为忽略时间戳 [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?

可以使用表控件添加或修改排除项。元素名称指定为精确匹配或使用通配符(*)来匹配所有内容。根据正则表达式指定值。

WSDL 历史记录

WSDL 面板允许您检查或修改工具和项目中使用到的 WSDL。这些 WSDL 将在相关的下拉框中可供选择。在这种情况下,如果需要多次指定相同的 WSDL,就不需要不断地反复输入它。 

请启用 Save WSDLs used in message responders, SOAP clients, and projects,如果您希望 SOAtest/Virtualize 保存测试或资产的 WSDL URIs。如果只使用 SOAtest,选项将读取 Save WSDLs used in SOAP clients and projects。如果只使用 Virtualize,选项将读取 Save WSDLs used in message responders and projects 

WSDL URI 字段列出了适用于工具 WSDL URI 下拉菜单中的 WSDL URLs。默认情况下,将会把所有与工具相关的 WSDL URIs 添加到该列表中。单击字段中的 URI 并单击 Refresh WSDL 来刷新来自给定位置 URI 的 WSDL,并重新解析它。

启用 WSDL/Schema Parsing 部分来检查所有 schema 位置,以便定位属于给定目标命名空间的组件。禁用此选项,仅使用遇到的第一个 schema 位置,以便解析给定目标命名空间的组件。

XML 转换设置

XML 转换设置面板可以为固定长度消息注册数据模型。 

有关使用此设置的更多详情,请查阅 固定长度消息响应程序

XML Schema 历史设置

XML Schema 历史面板可以查看或修改消息传递客户端(SOAtest)、消息响应器(Virtualize)和项目中使用的 XML Schema。这些 Schema 将在相关的下拉框中可供选择。在这种情况下,如果需要多次指定相同 Schema,就不需要不断地反复输入它。

XML Schema 位置设置

XML Schema 位置面板可以查看并删除 schema 位置。若要添加新的 schema 位置:

  1. 请单击命名空间和位置列下的 Add 按钮。
  2. 在打开的对话框中,指定命名空间和 Schema 位置。
  3. 在添加了所有必要的位置之后,单击 OK

若要指定将跳过的命名空间:

  1. 请单击命名空间列表下的 Add 按钮,在 XML 验证表期间跳过。
  2. 在打开的对话框中,指定希望跳过的命名空间。
  3. 然后单击 OK

若要添加 OASIS XML 目录位置:

  1. 请单击 Add 按钮,该按钮位于Schema 位置选项卡的 OASIS XML Catalog Locations 部分。 Location对话框显示。
  2. OASIS XML Catalog Location 中键入或通过单击 Browse 按钮直接浏览到它。
  3. 在添加了所有必要的位置之后,单击 OK

Virtualize 本地设置

定义 localsettings 文件有两种方法:

本地设置文件可以指定以下设置。

许可证设置

设置目的
virtualize.license. use_network=true|false确定当前安装是否从许可证服务器中检索其许可证。
virtualize.license. network.host=[host]

指定运行团队服务器配置管理器的机器的名称或 IP 地址。

例如:

virtualize.license.network.host=10.9.1.63

virtualize.license. network.port=[port]

指定许可证服务器端口号。

例如:

virtualize.license.network.port=2222

soatest.license.network.edition=[edition_name]

指定要此安装从许可证服务器中检索的许可证类型。

[edition_name] can be server_edition.若要使用自定义版本,请不要在 "="; 后设置任何内容,只是让值未空即可。

例如:

virtualize.license.network.edition=desktop_edition

virtualize.license.network.edition=server_edition

virtualize.license.autoconf.timeout=[seconds]指定此安装将等待从许可证服务器中自动配置许可证的最大秒数。默认为 10。
virtualize.license.
local.expiration=[expiration]
指定要此安装使用的本地许可证。
virtualize.license. local.password=[password]指定要此安装使用的本地密码。
virtualize.license.wait.for.tokens.time=[time in minutes]

指定在当前许可证不可使用时,此安装将等待许可证的时间。 

例如将许可证令牌设置为等待 3 分钟,则使用 virtualize.wait.for.tokens.time=3

有关其他注意事项和示例,请查阅 Manually Adding the License to localsetttings

Virtualize 设置

设置目的
server.startup确定服务器是否在 Virtualize 启动时自动启动。
server.port.http指定 Virtualize 服务器用于 HTTP 的端口。
server.port.https指定 Virtualize 服务器用于 HTTPS 的端口。
server.port.monitoring指定 Virtualize 服务器用于监视的端口。
system.properties.class-
path=[path1];[path2];[path3] ...

指定类路径中的 jar 文件和类文件夹。 

例如: system.properties.classpath=C\:\\myjars\\myLib1.jar;C\:\\myjar s\\myLib2.jar

scripting.timeout.minutes指定 Virtualize 试图停止无响应的脚本并记录错误消息的分钟数。
scripting.jython.home指定 Jython 安装目录。这必须是单个目录。
scripting.jython.path用来添加到不在 jython.home/Lib 目录的路径模块可以列出多个路径。
parasoft.event.monitoring.broker.port指定事件监控器的端口号。向 JVM 参数添加此设置。如果没有设置该属性,将默认使用 9617 端口。如果默认端口已被其他应用程序占用,则事件监控器将以默认值开始递增地扫描打开的端口。
parasoft.server.statistics.broker.port指定服务器统计数据收集器的端口号。向 JVM 参数添加此设置。如果没有设置该属性,将默认使用 9618 端口。如果默认端口已被其他应用程序占用,则数据统计代理将以默认值开始递增地扫描打开的端口。
parasoft.mq.environment.ccsid指定连接到 MQ 队列管理员的 CCSID。有关其他信息,请联系您的 MQ 管理员。
datasources.jdbc.classpath=[path1];[path2];[path3] ...

指示 JDBC 驱动器 jar 文件和类文件夹的位置。

特殊符号(空格、斜线、冒号等等)必须转义;例如:

%20 = SPACE

%3A = :

%5C = \

%7B = {

%7D = }

%24 = $

如果列出多个 jar,使用 \n 作为分隔符。

例如,
C:\temp\with
space\${example}\jar.jar

变成

C%3A%5Ctemp%5Cwith%20space%5C$2 4%7Bexample%7D%5Cjar.jar\n

traffic.wizard.xpath.ignores

可以让您全局地指出,您希望在哪个时间忽略哪些值(如时间戳):

  • 从流量中创建参数化的 .pvas,并
  • 自动配置请求体关联。

格式中指定的排除

traffic.wizard.xpath.ignores=[element name 1]:[value pattern 1];[element name 2]:[value pattern 2];[element name 3]:[value pattern 3]

例如:

traffic.wizard.xpath.ignores=*:[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0- 9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0- 9]{2})|Z)?;uuid:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

请注意,当在正则表达式中使用反斜杠(\)时,需要进行转义。  例如,表示单个数字的正则表达式 [\d],应输入为  [\\d]。

持续测试平台测试

设置目的
env.manager.server

指定 CTP 服务器的位置。要求

例如: env.manager.server=http://em_hostname:8080/

env.manager.server.name

指定将在 CTP 上用来标记该服务器的名称。您可以使用将有助于您识别该服务器的任意值。可选项

例如: env.manager.server.name=MyVirtServerLabel

env.manager.notify

确定 Virtualize 服务器在部署虚拟资产时是否通知 Parasoft CTP。可选项

例如: env.manager.notify=true

env.manager.username

指示登录到 CTP 的用户名。可选项

例如: env.manager.username=me

env.manager.password

指示登录到 CTP 的密码。可选项

例如: env.manager.password=12345

Miscellaneous 设置

设置目的
dtp.autoconfig=true|false

使用存储在 DTP 服务器上的 Parasoft 测试设置启用自动配置。

默认: false

dtp.enabled=true|false

确定当前的 Parasoft 测试产品是否连接到 DTP。

默认: false

dtp.server=[host]指定 DTP 服务器的主机名。
dtp.port=[port]指定 DTP 服务器端口。
console.verbosity.level=low|normal|high

为控制台视图指定冗长级别。可用设置有:

:配置控制台视图,以显示错误和当前步骤名称和状态的基本信息(完成、失败、最新)。

正常:同时还显示命令行以及测试和分析期间报告的问题。

:同时还显示警告。

parallel.mode=Manual|Auto|Disabled

确定激活以下哪个模式:

  • Auto:允许产品控制并行处理设置。
  • Manual:允许您手动配置并行处理设置以适应您的特定需求。
  • Disabled:配置产品以只使用一个可用 CPU。
parallel.max_threads=<number>

指定可并发执行的并行线程的最大数。并行线程的实际数量是根据 CPU 数量、可用的内存和许可证设置。

parallel.free_memory_limit=<percentage>指定低内存条件下应保持空闲的内存数量(用应用程序可用的总内存的百分比来表示)。这用来确保其他进程可用的闲置内存。
parallel.no_memory_limit=true|false指示不希望对产品可用内存施加任何限制(超出现有系统限制)。
tasks.clear=true|false在 cli 模式下启动时清除现有任务。这可以防止花费过多的时间“加载现有结果”。默认为 true。
security.trust.all.certificatestrue|false告诉 Virtualize 您希望它接受任何证书。如果您想加载证书不被“信任的”页面,这非常有用。
security.use.default.java.cacertstrue|false告诉 Virtualize 您希望它只接受来自 Java 受信任证书供应商的标准列表中的证书。

手动向 localsettings 添加许可证

若要通过 localsettings 添加或修改许可证设置:

  1. 如果您将使用自定义版本许可证,请在 localsettings 中定义正确的许可证特性,如下所示:
    [product].license.custom_edition_features= All enabled features
    请注意,许可证特性仅应用于自定义版本许可证。
  2. 在 localsettings 中定义主要许可证设置,如下所示:

    virtualize.license.network.edition= Type of license edition 
    virtualize.license.use_network= Value (true or false) 
    license.network.host= Host name
    license.network.port= Port number

以下是在 localsettings 文件中正确配置许可证设置的几个实例:

Virtualize 网络许可证 - 桌面版本

virtualize.license.network.edition=desktop_edition 
virtualize.license.use_network=true
license.network.host=main1.parasoft.com.pl 
license.network.port=2222

Virtualize 网络许可证 -具有多特性的自定义版本

virtualize.license.custom_edition_features=Virtualize, Server, Message Packs, Unlimited Million Hits / Day
virtualize.license.network.edition=custom_edition
virtualize.license.use_network=true
license.network.host=main1.parasoft.com.pl
license.network.port=2222

Virtualize 网络许可证 -具有多特性的自定义版本

virtualize.license.local.expiration=2014-04-15
virtualize.license.local.password=PARASOFT_353E2A7DA4F3D4B2FF142B0A262AF62B9DEC3449 C124773BAF0B4B508FF21139E867D9772F3702716FCE6D8EA16ACE668DE0EE629D154713599203BD85CE1213_7937E7ED374E70FDD62EE8411C2BB2D8EB465019E64BF3EF3A87DE6B67FB10BBCAF8611B08F70 D9420AC574FC5B3E5EB7241B20506DE2C60B0D80462CBEDBD
virtualize.license.use_network=false

请注意,关于本地设置,所启用特性是通过生成的密码来指定的。