前提条件
- 在开始通过通讯报文创建参数化的测试客户端或消息响应器之前,您的团队必须已安装并正在运行数据资源库服务器。详情请参阅 安装远程数据资源库服务器
- 消息内容必须是格式良好的(例如,如果是 XML,它必须是格式良好的;如是 EDI,它必须是有效的 EDI,等);否则,可能无法从通讯报文中自动创建测试。SOAP 消息和/消息响应器必须只有一个顶级 XML 元素。
- 消息分组选项,注意数据资源库不支持具有混合类型的 JSON 数组的参数化。 如果 JSON 数组不是混合类型,那么 SOAtest 或 Virtualize 将假设数组中的所有元素都与第一个元素的类型相同。
监控控制台视图
当从通讯报文中创建测试和/或消息响应器时,保持控制台视图可见会很有帮助。此视图将显示在处理通讯报文文件时生成的任何警告、错误和信息消息。
使用向导
在可用的创建向导中选择通讯报文> 生成参数化的消息选项。更多详情,请参阅以下章节: 添加新的 .tst 文件到现有项目和添加新的测试套件。
- 在通讯报文向导中指定以下信息,然后点击下一步:
- 指定通讯报文文件的位置。
- 如果需要,请更改字符编码
如果要用保存在模板中的前一组设置填充向导,请输入该模板的位置。
有关在 SOAtest 中创建和使用模板的详情,请参阅使用配置模板重用和共享向导设置。
在 Parasoft 数据资源库设置页面中,指定哪个数据资源库应该存储用于参数化测试客户端或消息响应器,然后点击下一步。
在服务器字段中,指定要连接的服务器(嵌入式服务器或远程服务器)。如果选择嵌入式服务器,端口、用户和密码字段将灰显。如果选择远程服务器,端口、用户和密码字段将自动填充,并且可根据需要进行调整。
- 在资源库名称字段中,选择或输入要使用的资源库的名称。如果输入新资源库的名称,将创建该资源库。
定义资源库连接时,可以通过点击 Validate 检查连接。
在消息格式 界面配置设置:
验证请求消息格式和响应消息格式是否设置正确。如果没有,请选择适当的格式。SOAtest 将尝试根据通讯报文文件中的第一条消息来标识请求和响应的消息格式。单个通讯报文文件中的所有请求都应具有一种格式,而同一文件中的所有响应都应具有一种格式。请求格式可能不同于请求格式。如果未检测到消息格式,则将选择纯文本。
转换选项可用于某些格式,如 EDI 或自定义格式。点击转换选项按钮并进行所需的更改。
选择其中一项消息分组选项:
基于操作/类型:根据操作或消息类型对消息进行分组。这对于包含可以通过操作或格式的消息类型(即,SOAP 主体下元素的名称、纯 XML 消息中根元素的名称或指定消息格式的消息类型)。为在通讯报文文件中发现的每个操作/类型生成一个响应器。
- 基于类似请求:根据请求消息结构对消息进行分组。这告诉 Virtualize 分析请求消息结构并将请求/响应分组到响应器中,以便每个响应器将包含与具有类似结构的请求相关的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为“类似”。此选项用于优化和简化将请求与每个消息响应器中的响应关联的规则。
基于类似响应: 根据响应消息结构对消息进行分组。这告诉 Virtualize 分析响应消息结构并将请求/响应对分组到响应器中,以便每个响应器将包含具有类似结构的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为“类似”。
无:没有分组。为通讯报文文件中的每个响应消息生成一个响应器。如果想让每个请求/响应对位于单独的消息响应器中,请使用此选项。
- 点击下一步并在消息分组审查界面审查有关操作和邮件的信息。
- 包括的列基于所应用的分组策略。
- 每个表行表示定义一个组的标准。将为每个表行生成一个组。将为每个组生成一个响应器。
关联性标准将按它们在表中的显示顺序(从上到下)进行处理。
URL 路径和参数将根据录制类型中的字段进行参数化。这些字段将具有一个自动生成的名称,并且将在数据复用页面(稍后的向导中)可见。
使用可用的控件添加、修改、重新排序和删除分组条件。 有关在 SOAtest 中配置分组条件的详情,请参阅自定义分组标准。
如果更改条件,请确保在继续之前点击重组。
- 点击下一步,然后在请求匹配界面配置设置。
- 点击请求/响应对,并验证是否已建立正确的关联性。您可以点击并拖动连接请求和响应的点以更改匹配。
- 点击请求关联性选项,然后在下拉菜单中选择一种响应器模式。
- 点击请求/响应对,并验证是否已建立正确的关联性。您可以点击并拖动连接请求和响应的点以更改匹配。
- 以及在数据复用界面中配置导入的通讯报文应如何复用或如何影响现有数据。
- 定义的记录标识用于确定哪些数据是新的,哪些新记录与现有记录匹配。如果尚未为此数据集指定标识,则可以在此页面的数据树中添加/修改标识此页。
- 树用绿色箭头图标指示标识字段。现有的数据集用注释标注。
您可以控制通讯报文文件的数据将如何扩展和/或更新现有资源库数据集。
替换:删除现有数据,然后添加新数据
附加:添加新记录,无需删除现有数据。
还可以控制匹配的数据(匹配现有的记录类型,由标识定义)是否重新使用现有的记录类型或更新现有的记录。复用选项允许您复用/共享匹配的现有记录。更新选项允许您使用来自通讯报文的数据更新现有记录相对应的字段,并为新的记录类型添加新记录。
有关指定身份并在 SOAtest 中的可用数据复用/更新选项中进行选择的详情,请参阅配置数据重用和更新。
- 推断约束从选项允许 Virtualize 确定资源库中存储的数据的特征。可以根据数据或服务定义推断约束。
- 点击下一步并在最终选项界面指定其他配置:
- 您可以将向导配置为以表单或字面量模式创建消息。这些模式显示一个表单输入视图(请参阅表单输入)或字面量视图(请参阅字面量)。
可启用导出配置数据到一个可重用模板选项,并指定文件名和位置以将在此向导中使用的设置保存为模板。
(仅限 MQ 和 JMS)在下一个 SOAtest 向导页中指定连接设置。这些设置将应用到创建此通讯报文的工具。详情请参阅配置 MQ 选项和配置 JMS 选项。
有关创建和使用模板的详情,请参阅在 SOAtest 中使用配置模板重用和共享向导设置。
- 点击完成。
将创建和配置以下项目:
一个或多个具有参数化值的测试客户端。创建的工具将是 SOAP 客户端、REST 客户端、EDI 客户端或消息传送客户端,具体取决于消息格式。除非消息是 XML 或 JSON 并且消息太大以至于会对性能产生影响,否则这些工具将默认为“表单输入/表单JSON”视图。在这种情况下,将使用字面量视图。
- (对于新数据资源库)将添加具有适用数据集和记录类型的新数据资源库。每个通过分析通讯报文确定的消息组将添加一个数据集。
- (对于现有数据资源库)将向现有资源库添加新的数据集和记录类型。
- 将为每个添加的数据集添加资源库数据源,并将每个测试客户端和消息响应器配置为使用相关的数据源。
例如,以下是使用数据资源库值参数化的示例 REST 客户端:
这是响应资源库的一部分:
现在,此参数化的、数据驱动的 REST 客户端可以在广泛的测试值范围内运行,而无需对工具本身进行任何修改。您可以修改或扩展关联的数据资源库值,而不是编辑工具。
有关如何编辑和扩展存储在数据资源库中的数据的详细信息,请参阅查看和修改资源库结构和内容。
请注意,通讯报文文件中存在的自定义传输头和任何 SOAP 头(例如,WS-Security 头)不会自动配置到生成的资产或数据资源库数据集中。您可以在生成的消息响应器中指定它们。
完成 SOAtest 向导:进阶主题
以下主题提供了帮助您完成向导的其他详细信息: