在本章节中:
前言
数据学习工具用于增量地扩展虚拟资产的范围,以覆盖更广泛的用例。它通过观察流量并向数据存储库添加新的观察结果来自动扩展数据集,从而使团队能够快速增强数据驱动的虚拟资产。更新过程可以完全自动化(每当检测到新数据时,通过 File Event Listener Marketplace 工具调用),也可以根据需要启动(通过供应操作)。
要求
此工具要求访问版本 9.9.5 或更高版本的 Virtualize 服务器;工具本身可以在 Virtualize 9.9.0或更高版本上使用。
安装指南
该工具实现为 datalearningtool.jar。可以从 UI 或命令行中安装工具。
UI 安装指南
- 选择 Parasoft > Preferences ,然后单击 System Properties。
- 单击 Add JARs ,并浏览 datalearningtool.jar。
- 单击 Apply ,重启 Virtualize。
命令行安装指南
将 datalearningtool.jar 文件添加到 localsettings 属性文件中的 system.properties.classpath
属性。例如:
system.properties.classpath=<path to jar>/datalearningtool.jar
使用说明
如果您希望根据需要调用该工具,或者使用持续测试平台将数据学习集成到测试环境供应流程中,则可以将该工具添加为供应操作。
添加一个 .pvn 文件到项目中 (请查阅 定义配置操作) ,然后右键单击 Action Suite 节点。
- 从 Add Action 向导中选择 Add New> Action ,并选择 Data Learning Tool 。
- 单击 Finish 并配置工具(请查阅 Configuration)。
如果希望在特定的流量文件目录中检测到新的或更新的流量时自动运行该工具,请将该工具链接到消息响应器的传出响应,并确保使用文件事件侦听器配置了相关的虚拟资产(请访问 Parasoft Marketplace 下载 File Event Listener)。有关文件事件侦听器配置的详细信息,请参阅 File Event Listener 文档。
在这两种情况下,一旦触发该工具,它将执行以下操作:
- 扫描指定的本地目录,查找名称与特定模式匹配的新或修改的流量文件。
- 如果找到匹配的流量文件,则使用指定的 Virtualize 服务器根据指定模板文件中定义的设置处理该流量。
- 将标识的数据导入指定的数据存储库。
配置
该工具通过设置以下选项进行配置。
源代码流量设置
这些选项控制工具如何识别和处理流量文件。
用于扫描流量文件的目录 | 指定要扫描流量文件的本地目录。该目录相对于数据学习工具。如果工具位于部署在“VirtualAssets”中的 .pva 中,那么它相对于“VirtualAssets”。如果工具位于另一个项目的 .pvn 中,则该路径相对于另一个项目。 |
---|---|
流量文件模式 | (可选)如果只想处理上面目录中的特定流量文件,请指定一个模式来指示您想包含哪些流量文件。您可以使用 |
模板文件 | 指定要应用于指导流量处理的 Virtualize 配置模板的位置。如果工具位于部署在“VirtualAssets”中的 .pva 中,那么它相对于“VirtualAssets”。如果工具位于另一个项目的 .pvn 中,则该路径相对于另一个项目。 |
字符编码 | (可选项)指定工具的字符编码。默认为 |
数据重用 | (可选)如果要覆盖模板文件中指定的数据重用设置,请指定所需的重用选项。 |
远程服务器设置
这些选项指定哪个 Virtualize 服务器应该处理流量文件。
使用远程服务器(默认:false) | 输入 |
---|---|
主机 | 指定应该处理流量文件的 Virtualize 服务器的主机。 |
端口(默认:9080) | 指定应该处理流量文件的 Virtualize 服务器的端口。默认为 |
用户名 | 指定使用此 Virtualize 服务器进行身份验证的用户名。 |
密码 | 指定使用此 Virtualize 服务器进行身份验证的密码。 |
上传路径(相对于 VirtualAsset) | 指定在此 Virtualize 服务器上上载用于标识和处理新流量的文件的位置。此目录应该相对于 Virtualize 服务器的 VirtualAssets 项目。此设置是可选的。 |
数据资源库设置
这些选项指定新/更新的数据应该导入到哪个数据存储库。如果不指定主机,则将从 Source Traffic 选项卡中指定的模板中获取所有数据存储库设置。
主机 | 指定应该导入新/更新数据的数据存储库服务器的主机。 |
---|---|
端口号 | 指定应该导入新/更新数据的数据存储库服务器的端口。默认为 |
用户名 | 指定使用此数据存储库服务器进行身份验证的用户名。 |
密码 | 指定使用此数据资源库服务器进行身份验证的密码。 |
记录
此选项指定要记录的日志详细信息的级别。
日志级别 | 指定要将多少信息记录到控制台和事件监视视图。默认是 如果在 .pva 中使用该工具,那么信息也将被记录到事件详情透视图中。如果日志级别大于 |
---|
运行示例
从应用市场下载的 zip 文件提供了几个使用数据学习工具的示例配置和练习。这些示例向您展示了如何将该工具直接部署为供应操作(pvn)中的工具,并将其作为链接到虚拟资产(pva)中的消息响应器的工具。
直接使用工具
- 将以下文件复制到工作区中的项目中(如 ProvisioningAssets):
- DataLearner.pvn
- DataLearner_1.txt
- DataLearner_2.txt
- DataLearningExample.traffictemplate
- 通过直接在 Virtualize UI 中运行或通过 CTP 运行 .pvn 来调用它。该工具将扫描目录以查找流量模板和 DataLearner_*.txt 流量文件,并将其中的数据导入本机上的数据存储库。
使用链接到响应器的工具
- 将 DataLearner.pva 作为 Virutalize 中的虚拟资产部署在 HTTP 路径上:/DataLearner.
- 将 DataLearner_1.txt 和 DataLearner_2.txt 复制到部署 DataLearner 虚拟资产的 Virtualize 服务器上的 VirtualAssets/traffic_files/。
- 将 DataLearnerExample.traffictemplate 复制到部署 DataLearner 虚拟资产的 Virtualize 服务器上的 VirtualAssets/traffic_templates/。
- (可选)更新 DataLearner.tst 中的环境指向正确的虚拟主机。
- (可选和推荐)开始监视 DataLearner 虚拟资产。
- 运行 DataLearner.tst。该测试通过 HTTP 调用 DataLearner 虚拟资产,从而运行链式数据学习工具。链式工具使用在步骤 2 和步骤 3 中复制的流量模板和流量文件。
- 请注意,向 Virtualize 事件日志报告的事件和流量文件将在在完成时从 traffic_files 中删除。
使用消息代理记录事务
- 创建消息代理并添加连接(请查阅 创建代理)。
- 将连接配置为使用唯一的流量文件模式(比如,%n),并启用 New session file for each message pair 选项。
- 确保将数据学习工具配置为扫描代理连接将记录到的目录。数据学习工具配置中的相对路径相对于包含该工具的 .pva 或 .pvn。
- 通常通过消息代理记录流量。
- 运行数据学习工具来处理记录的事务。
数据学习工具用例
如果虚拟资产不知道如何响应给定的请求,则可以从活动服务或本地服务器记录请求及其对应的响应,并将其添加到数据存储库中。下一次虚拟资产接收到相同的请求时,将返回相应的响应。
工作流
在典型的代理配置中,连接将请求转发给虚拟资产。如果资产知道如何响应请求,则来自关联存储库的响应将返回给客户机。
如果虚拟资产不知道如何响应给定的请求,则将向客户机返回一条错误消息,并且不采取任何附加操作。
您可以配置 Virtualize,以便记录请求和相应的响应,并将其添加到数据存储库中(请查阅下面的 Configuration )。下面的大纲描述了“教导”虚拟资产如何响应新请求的整个过程。
- 虚拟资产无法响应。
- 请求被发送到活动系统,该系统被配置为代理的辅助连接。
- 相应的响应返回给客户机,请求和响应记录在一个流量文件中。
流量文件创建/更新触发虚拟资产的文件事件侦听器,该侦听器使用数据学习工具调用响应器。
数据学习工具将流量文件发送到指定的虚拟化服务器,然后该服务器使用指定的模板文件处理流量并将其添加到数据存储库中。
- 下一次接收此请求时,虚拟资产将返回记录的响应。
配置
- 配置消息代理的主连接以转发到虚拟资产。
- 将消息代理的辅助连接配置为转发到活动虚拟服务。
- 启用消息代理的 Record on secondary connection only 和 New session file for each message pair 选项
- 将虚拟资产配置为使用文件事件侦听器作为自定义传输,并配置侦听器来监视代理将保存流量文件的目录。
- 添加一个带有数据学习工具的响应器,并将其链接到与虚拟资产关联的 .pva。
- 配置该工具,将数据添加到最初没有请求/响应的数据存储库中。