前提条件
- 在开始创建参数化的测试客户端或来自流量的消息响应程序之前,你的团队必须要有一个已安装并正在运行的数据资源库服务器。有关更多详情信息,请查阅: 在开始创建参数化的测试客户端或来自通讯报文的消息响应程序之前,您的团队必须要有一个已安装并正在运行的数据资源库服务器。有关更多详情信息,请查阅 安装远程数据库服务器
- 消息内容必须是格式良好的(如,如果为 XML,它必须是格式良好的;如果为 EDI,则必须是有效的 EDI 消息,等等);否则,从流量中自动创建测试可能失败。SOAP 消息,等等);否则,从通讯报文中自动创建测试可能失败。SOAP 消息和/或消息响应程序必须只有一个顶级 XML 元素。
- 消息分组选项注意,数据资源库不支持混合类型的 JSON 数组的参数化。 如果 JSON 数组存在混合类型,则 SOAtest 或 Virtualize 将假定数组中的所有元素都与第一元素具有的相同类型。
Tip | ||
---|---|---|
| ||
从流量中创建测试和从通讯报文中创建测试和/或消息响应程序时,保持控制台视图可见是很有帮助的。该视图将显示处理流量文件时生成的任何警告、错误和信息消息。或消息响应程序时,保持控制台视图可见是很有帮助的。该视图将显示处理通讯报文文件时生成的任何警告、错误和信息消息。 |
使用向导
在可用的创建向导中选择 Traffic> Generate Parameterized Messages 选项。有关更多详情,请查阅以下章节:
- 完成通讯报文向导的第一页:完成流量向导的第一页:
- 指定流量文件的位置。指定通讯报文文件的位置。
- 如果需要,更改字符编码
如果希望使用之前模板中保存的分组设置填充向导,则输入该模板所处的位置。
关于在 Virtualize 中创建和使用模板的更多详情,请查阅 使用配置模板重用和共享向导设置 。
单击 下一步 Next。
在 Parasoft 数据资源库设置页面中,指定要使用哪个数据资源库来存储数据,以参数化测试客户端或消息响应程序,然后单击 下一步Next。
在 Server 字段中,指定你要连接的服务器(可以是嵌套服务器,也可以是远程服务器)。如果选择嵌套服务器,则 字段中,指定您要连接的服务器(可以是嵌套服务器,也可以是远程服务器)。如果选择嵌套服务器,则 Port, User, 和 Password 字段将变灰。如果选择远程服务器,则 Port、User 和 Password 字段将自动填充(如果需要,可以进行调整)。
- 在 Repository name 字段中,选择或输入要使用的资源库的名称。如果输入新资源库的名称,则将创建该资源库。
在定义资源库连接时,可以通过单击 Validate 来检查连接。
完成消息格式和分组策略页面,然后单击 下一步Next。
验证 Request message format 和 Response message format 是否设置为正确的格式。如果没有,则为其选择合适的格式。
Virtualize 尝试根据流量文件中的第一条消息来识别请求和响应的消息格式。一个流量文件中的所有请求都应该具有一种格式,同一个文件中的所有响应都应该具有一种格式。请求格式可能与响应格式不同。如果未检测到消息格式,则将选择纯文本。
Virtualize 尝试根据通讯报文文件中的第一条消息来识别请求和响应的消息格式。一个通讯报文文件中的所有请求都应该具有一种格式,同一个文件中的所有响应都应该具有一种格式。请求格式可能与响应格式不同。如果未检测到消息格式,则将选择纯文本。如果希望配置可用于所选格式(如,适用于 EDI 或自定义格式)的任何转换选项,请单击该格式右侧的 Conversion Options 按钮,并进行所需更改。
指定所需的消息分组选项(有关更多详情,请查阅以下框),然后单击 下一步Next。
Info title 消息分组选项 可用选项包括:
基于操作/类型:Based on operation/type:基于操作或消息类型的分组消息。对于包含可以通过操作或格式的消息类型(如,SOAP 主体下的元素名,纯 XML 消息中的根元素名或指定消息格式的消息类型)明确标识的消息的服务流量,这一点很有用。将为流量文件内发现的每个操作消息中的根元素名或指定消息格式的消息类型)明确标识的消息的服务通讯报文,这一点很有用。将为通讯报文文件内发现的每个操作/类型生成一个响应程序。如果选择该选项,Virtualize 将推荐应用分组启发式, 它时根据其对流量文件的分析来建议的。 它是根据其对通讯报文文件的分析来建议的。可以更改预先选定的启发式。若要了解启发式的更多信息,请查阅 了解按操作类型分组的启发式。基于相似请求:Based on similar requests:基于请求消息结构的分组信息。这告诉 Virtualize 去分析请求消息结构和将请求/响应分组到响应程序,以便每个响应程序包含与具有类似结构的请求相关联的响应。当消息具有相同的 DOM 树模型时,它们被认为是“相似的”,即使存在不同的值。该选项用于优化并简化规则,以将请求关联到每个消息响应程序内的响应。
基于相似响应:Based on similar responses:基于响应消息结构的分组消息。这告诉 Virtualize 去分析响应消息结构和将请求/响应对分组到响应程序,以便每个响应程序包含与具有类似结构的响应。当消息具有相同的 DOM 树模型时,它们被认为是“相似的”,即使存在不同的值。
None:没有分组。将为流量文件中的每个响应消息生成一个响应程序。如果希望每个消息响应程序中都有一个请求没有分组。将为通讯报文文件中的每个响应消息生成一个响应程序。如果希望每个消息响应程序中都有一个请求/响应对,请使用该选项。
在消息分组审查页面,检查有关找到的操作和消息的信息。
展示的列类型取决于应用到分组策略。
每个表行表示定义一个组的标准。将为每个表行生成一个组。将会每个组生成一个响应程序。
相关标准将按它们在表中出现的顺序(从上至下)进行处理。 有关如何创建这些分组的更多详情,请查阅 了解按操作类型分组的启发式。
使用可用控件对分组标准进行添加、更改、重新排序和删除操作。 查阅 自定义分组标准 以获得关于在 Virtualize 中配置分组标准的更多详情。如果更改该标准,请确保执行单击 Regroup 。
如果选择了所有 Autoconfig 框,并且你希望 框,并且您希望 Virtualzie 自动为指定的分组配置消息响应程序, 则可以跳过以下步骤。
如果希望指定任何以下任务,则禁用要自定义的每个消息组的 Autoconfig ,单击 Next,然后配置请求映射,如 定制请求匹配和关联中所述:
自定义应使用哪些参数值来确定虚拟资产的响应消息。
更改自动请求/响应对匹配
指定 WSDL 或 Schema
当消息组中存在多个请求(它们的路径、参数,或者主题是不同的)时,通常可使用自动配置。如果 Autoconfig 框是灰色的,意味着自动配置不适用于该分组;关于为什么无法自动配置特定组的更多详情,请查阅该项的工具提示。
关于面板顶部列出的任何项(处理对、未处理对、不匹配组的消息,等等)的更多详情,请单击徐相关链接。
关于面板顶部列出的任何项(处理对、未处理对、不匹配组的消息,等等)的更多详情,请单击其相关链接。
若要审查与特定响应程序相关联的消息,和/或若要更改响应程序和数据集名称,请单击 Count 列的相关行。- 在数据重用页面中,配置希望导入的通讯报文如何重用或影响现有数据。在数据重用页面中,配置希望导入的流量如何重用或影响现有数据。
- 定义的记录识别用来确定哪个数据是原生的,以及哪些新纪录匹配现有记录。如果尚未为该数据集指定标识,则可以从此页中的数据树中添加/更改标识。
- 树用绿色箭头图标指示标识字段。现有的数据集用注释标注。
可以控制来自流量文件的新数据将如何扩展和可以控制来自通讯报文文件的新数据将如何扩展和/或更新现有资源库数据集。
也可以控制匹配的数据(匹配现有记录类型的数据,由标识定义)是否重新使用现有的记录类型或更新现有的记录。 Reuse 选项允许重复使用和共享其匹配的现有记录。 Update 选项允许使用来自流量的数据更新现有记录相对应的字段,并为新的记录类型添加新纪录。 选项允许使用来自通讯报文的数据更新现有记录相对应的字段,并为新的记录类型添加新纪录。
Panel title 只适用于 Virtualize 选项 Replace;删除现有数据,然后添加新数据。
合并Merge:在无需修改现有数据的情况下,导入新数据:
Update;使用新数据更新匹配的记录,并根据需求创建新纪录。
Overwrite;使用功能新数据更新匹配的记录(和匹配键),不创建任何额外的记录。
关于 Virtualize,请查阅 配置数据重用和更新。
- 在导出模板页面,指定模板导出设置(如果需要),然后单击 下一步Next。
入股偶希望保存该向导中使用的设置,则可以将它们导出到模板中。只需选择 Export configuration data into a reusable template ,并指明所需的文件名和位置即可。
关于创建和使用模板的更多详情,请查阅 使用配置模板重用和共享向导设置 。如果要在 Virtual Assets 文件夹中创建 .pva 文件,从而实现自动化部署,请为要创建的虚拟资产指定所需名称和部署路径,然后单击 下一步Next,完成部署虚拟资产向导页面。虚拟资产将部署在列出的端点上。有关更多详情,请查阅 Configuring Individual Virtual Asset Deployment Settings。
- 单击 完成。
将创建和配置以下项:
- (对于新的数据资源库)将添加一个新的数据资源库,其中包含适用的数据集和记录类型。每个通过分析流量确定的消息组将添加一个数据集。(对于新的数据资源库)将添加一个新的数据资源库,其中包含适用的数据集和记录类型。每个通过分析通讯报文确定的消息组将添加一个数据集。
- (对于现有的数据资源库)将向现有资源库添加新的数据集和记录类型。
- 为每个添加的数据集添加一个资源库数据源,并且每个测试客户端或消息响应程序将配置为使用相关数据源。
...
有关如何编辑和扩展数据资源库中存储的数据的更多详情,请查阅 查看和修改资源库结构和内容。
注意,流量文件中出现的自定义传输数据头和任何 注意,通讯报文文件中出现的自定义传输数据头和任何 SOAP Headers(例如,WS-Security Headers)都不会自动配置到生成的资产或数据资源库数据集中。可以在生成的消息响应程序中指定它们。
(有关更多详情,请查阅 消息响应程序概要 )
部署虚拟资产
如果在 Virtual Asset 文件夹中创建了 .pva,则虚拟资产在向导完成时将自动部署到本地 Virtualize 服务器中。否则,可以随时将其部署到本地或远程服务器。
有关部署过程和选项的更多详细讨论,请查阅 部署虚拟资产 - 概要。
自定义虚拟资产
有关如何自定义消息响应程序行为的更多详情,请查阅 消息响应程序概要。
了解 Chioce/Extension 类型支持
如果在向导最后都没有输入一个 WSDL 或 schema 文件,则 Virtualize 将使用记录流量的数据结构来创建数据资源库。当一个元素的数据结构在记录的流量中发生了改变时,则该元素的类型很可能是底层模式中的一个选择。然而,向导不会明确支持 将使用记录通讯报文的数据结构来创建数据资源库。当一个元素的数据结构在记录的通讯报文中发生了改变时,则该元素的类型很可能是底层模式中的一个选择。然而,向导不会明确支持 chioce 类型;它将元素的数据结构解释为所有可能的子元素的序列。
...
<element name= "parent" > <complexType> <sequence> <element name= "child1" minOccurs= "0" maxOccurs= "unbounded" /> <element name= "child2" minOccurs= "0" maxOccurs= "unbounded" /> <element name= "child3" minOccurs= "0" maxOccurs= "unbounded" /> </sequence> </complexType> </element> |
即使记录的流量可能让子元素以不同的顺序出现(例如,其中一个响应消息中的“parent”包含“child1”和“child2”,而另一个响应程序中的“parent”包含“child2”和“child1”),Virtualize 即使记录的通讯报文可能让子元素以不同的顺序出现(例如,其中一个响应消息中的“parent”包含“child1”和“child2”,而另一个响应程序中的“parent”包含“child2”和“child1”),Virtualize 将以固定的顺序参数化消息数据。因此,在该示例中,响应消息内的“child1”和“child2”元素将始终保持相同顺序。
完成 Virtualize 向导:高级主题
以下主题提供了额外的细节,它将帮助你完成向导:以下主题提供了额外的细节,它将帮助您完成向导:
Scroll pdf ignore | ||||
---|---|---|---|---|
视频教程:从消息代理记录的流量中创建虚拟资产视频教程:从消息代理记录的通讯报文中创建虚拟资产在该视频中,你将了解如何从消息代理记录的流量中创建虚拟资产。在该视频中,您将了解如何从消息代理记录的通讯报文中创建虚拟资产。
|
...