本主题概述了如何从通讯报文日志中捕获到的通讯报文创建参数化的测试客户端(SOAP 客户端、REST 客户端、EDI 客户端或消息响应程序工具)。本章包含:
前提条件
- 在开始创建参数化的测试客户端或来自通讯报文的消息响应程序之前,您的团队必须要有一个已安装并正在运行的数据资源库服务器。有关更多详情信息,请查阅 安装远程数据库服务器
- 消息内容必须是格式良好的(如,如果为 XML,它必须是格式良好的;如果为 EDI,则必须是有效的 EDI 消息,等等);否则,从通讯报文中自动创建测试可能失败。SOAP 消息和/或消息响应程序必须只有一个顶级 XML 元素。
- 消息分组选项注意,数据资源库不支持混合类型的 JSON 数组的参数化。 如果 JSON 数组存在混合类型,则 SOAtest 或 Virtualize 将假定数组中的所有元素都与第一元素具有的相同类型。
监视控制台视图
从通讯报文中创建测试和/或消息响应程序时,保持控制台视图可见是很有帮助的。该视图将显示处理通讯报文文件时生成的任何警告、错误和信息消息。
使用向导
在可用的创建向导中选择 Traffic> Generate Parameterized Messages 选项。有关更多详情,请查阅以下章节:Adding a New .tst File to an Existing Project 和 Adding a New Test Suite。
- 完成通讯报文向导的第一页:
- 指定通讯报文文件的位置。
- 如果需要,更改字符编码
如果希望使用之前模板中保存的分组设置填充向导,则输入该模板所处的位置。
关于在 SOAtest 中创建和使用模板,请查阅 使用配置模板重用和共享向导设置 。
单击 Next。
在 Parasoft 数据资源库设置页面中,指定要使用哪个数据资源库来存储数据,以参数化测试客户端或消息响应程序,然后单击 Next。
在 Server 字段中,指定您要连接的服务器(可以是嵌套服务器,也可以是远程服务器)。如果选择嵌套服务器,则 Port, User, 和 Password 字段将变灰。如果选择远程服务器,则 Port、User 和 Password 字段将自动填充(如果需要,可以进行调整)。
- 在 Repository name 字段中,选择或输入要使用的资源库的名称。如果输入新资源库的名称,则将创建该资源库。
在定义资源库连接时,可以通过单击 Validate 来检查连接。
完成消息格式和分组策略页面,然后单击 Next。
验证 Request message format 和 Response message format 是否设置为正确的格式。如果没有,则为其选择合适的格式。
SOAtest 尝试根据通讯报文文件中的第一条消息来识别请求和响应的消息格式。一个通讯报文文件中的所有请求都应该具有一种格式,同一个文件中的所有响应都应该具有一种格式。请求格式可能与响应格式不同。如果未检测到消息格式,则将选择纯文本。如果希望配置可用于所选格式(如,适用于 EDI 或自定义格式)的任何转换选项,请单击该格式右侧的 Conversion Options 按钮,并进行所需更改。
指定所需的消息分组选项(有关更多详情,请查阅以下框),然后单击 Next。
消息分组选项
可用选项包括:
Based on operation/type:基于操作或消息类型的分组消息。对于包含可以通过操作或格式的消息类型(如,SOAP 主体下的元素名,纯 XML 消息中的根元素名或指定消息格式的消息类型)明确标识的消息的服务通讯报文,这一点很有用。将为通讯报文文件内发现的每个操作/类型生成一个响应程序。Based on similar requests:基于请求消息结构的分组信息。这告诉 Virtualize 去分析请求消息结构和将请求/响应分组到响应程序,以便每个响应程序包含与具有类似结构的请求相关联的响应。当消息具有相同的 DOM 树模型时,它们被认为是“相似的”,即使存在不同的值。该选项用于优化并简化规则,以将请求关联到每个消息响应程序内的响应。
Based on similar responses:基于响应消息结构的分组消息。这告诉 Virtualize 去分析响应消息结构和将请求/响应对分组到响应程序,以便每个响应程序包含与具有类似结构的响应。当消息具有相同的 DOM 树模型时,它们被认为是“相似的”,即使存在不同的值。
None:没有分组。将为通讯报文文件中的每个响应消息生成一个响应程序。如果希望每个消息响应程序中都有一个请求/响应对,请使用该选项。
在消息分组审查页面,检查有关找到的操作和消息的信息。
展示的列类型取决于应用到分组策略。
每个表行表示定义一个组的标准。将为每个表行生成一个组。将会每个组生成一个响应程序。
相关标准将按它们在表中出现的顺序(从上至下)进行处理。 URL 路径和参数将根据记录类型中的字段进行参数化。字段将拥有一个自动生成的名称,并将在数据重用(Data Reuse,在向导后)页面可见。
使用可用控件对分组标准进行添加、更改、重新排序和删除操作。 查阅 自定义分组标准 以获得关于在 SOAtest 中配置分组标准的更多详情。如果更改该标准,请确保执行单击 Regroup 。
- 在数据重用页面中,配置希望导入的通讯报文如何重用或影响现有数据。
- 定义的记录识别用来确定哪个数据是原生的,以及哪些新纪录匹配现有记录。如果尚未为该数据集指定标识,则可以从此页中的数据树中添加/更改标识。
- 树用绿色箭头图标指示标识字段。现有的数据集用注释标注。
可以控制来自通讯报文文件的新数据将如何扩展和/或更新现有资源库数据集。
Replace;删除现有数据,然后添加新数据
Append;添加新纪录,而无需首先删除现有数据。
也可以控制匹配的数据(匹配现有记录类型的数据,由标识定义)是否重新使用现有的记录类型或更新现有的记录。 Reuse 选项允许重复使用和共享其匹配的现有记录。 Update 选项允许使用来自通讯报文的数据更新现有记录相对应的字段,并为新的记录类型添加新纪录。
关于指定标识和在 SOAtest 中选择可用数据重用/更新选项的其他详情,请查阅 配置数据重用和更新。
- 在导出模板页面,指定模板导出设置(如果需要),然后单击 Next。
入股偶希望保存该向导中使用的设置,则可以将它们导出到模板中。只需选择 Export configuration data into a reusable template ,并指明所需的文件名和位置即可。
查看 使用配置模板以在 SOAtest 中重用和共享向导设置 以获得关于创建和使用模板的更多详情。
(仅限 MQ 和 JMS)在下一个 SOAtest 向导页中指定连接设置。这些设置将应用到创建此通讯报文的工具。有关更多详情,请查阅 Configuring MQ Options 和 Configuring JMS Options。
- 单击 完成。
将创建和配置以下项:
一个或多个具有参数化值的测试客户端。根据消息格式的不同,创建的工具将是 SOAP 客户端/REST 客户端、EDI 客户端或消息传递客户端。除非消息是 XML 或 JSON,并且消息大到预期会对性能产生影响,否则这些工具将默认为表单输入/表单 JSON 视图。
- (对于新的数据资源库)将添加一个新的数据资源库,其中包含适用的数据集和记录类型。每个通过分析通讯报文确定的消息组将添加一个数据集。
- (对于现有的数据资源库)将向现有资源库添加新的数据集和记录类型。
- 为每个添加的数据集添加一个资源库数据源,并且每个测试客户端或消息响应程序将配置为使用相关数据源。
例如,下面是一个使用数据资源库参数化的 REST 客户机示例:
下面是相应资源库的一部分:
现在可以使用广泛而多样的测试值范围运行这个参数化的、数据驱动的 REST 客户端,无需要求对工具本身进行任何的更改。相比编辑工具,您可以更改或扩展相关联的数据资源库值。
有关如何编辑和扩展数据资源库中存储的数据的更多详情,请查阅 查看和修改资源库结构和内容。
注意,通讯报文文件中出现的自定义传输数据头和任何 SOAP Headers(例如,WS-Security Headers)都不会自动配置到生成的资产或数据资源库数据集中。可以在生成的消息响应程序中指定它们。。
完成 SOAtest 向导:高级主题
以下主题提供了额外的细节,它将帮助您完成向导: