本主题概述了如何从通讯报文日志中捕获到的通讯报文创建参数化的测试客户端(SOAP 客户端、REST 客户端、EDI 客户端)。本章包含:

前提条件

  • 您的团队必须安装并运行数据存储库服务器。有关详细信息,请查阅 安装远程数据库服务器
  • 消息内容必须格式正确。SOAP 消息必须只有一个顶级 XML 元素。
  • 数据存储库不支持具有混合类型的 JSON 数组的参数化。如果 JSON 数组不是混合类型,那么 SOAtest 将假设数组中的所有元素都与第一个元素的类型相同。

监视控制台视图

当从通讯报文中创建测试时,保持控制台视图可见是很有帮助的。此视图将显示在处理通讯报文文件时生成的任何警告、错误和信息消息。

使用向导

  1. 在可用的创建向导中选择 Traffic> Generate Parameterized Messages 选项。关于其他详情,请查阅 添加新的 .tst 文件到现有项目添加新的测试套件 。

  2. 在通讯报文向导中指定以下信息等),然后单击 Next
    1. 指定通讯报文文件的位置。
    2. 如果需要,请更改字符编码。
    3. 如果要用保存在模板中的前一组设置填充向导,请输入该模板的位置。查阅 使用配置模板重用和共享向导设置 以获得 SOAtest 中创建和使用模板的更多详情。

  3. 在 Parasoft 数据存储库设置页面中,指定哪个数据存储库应该存储用于参数化测试客户端或消息响应程序,然后单击 Next 

    • 在 Server 字段中,指定要连接的服务器(嵌入式服务器或远程服务器)。如果选择远程服务器, PortUserPassword 字段将自动被填充,并且可根据需要进行调整。

    • 如果选择 Embedded Server , PortUser和 Password 字段将变灰。 
    • Repository name 字段中,选择或输入要使用的资源库的名称。如果输入新存储库的名称,将创建该存储库。
    • 定义存储库连接时,可以通过单击 Validate 检查连接。 

      锁定存储库,直到向导完成

      当使用远程(例如,非嵌入式)数据存储库服务器时,此处指定的存储库将被锁定,直到向导完成。如果想让锁显示为“locked by [your_username]”而不是“locked by [tmp]”,请选中 Configure authentication for locking,然后指定所使用的 CTP 服务器的 URL,以及该 CTP 服务器的用户名和密码。有关锁定的更多信息,请参见 锁定和解锁 CTP 中的存储库

  4. 在消息格式屏幕中配置设置:

    1. 验证 Request message format 和 Response message format 是否设置为正确的格式。如果没有,请选择适当的格式。SOAtest 将尝试根据通讯报文文件中的第一条消息来标识请求和响应的消息格式。单个通讯报文文件中的所有请求都应具有一种格式,而同一文件中的所有响应都应具有一种格式。请求格式可能不同于请求格式。如果未检测到消息格式,则将选择纯文本。

    2. 转换选项可用于某些格式,如 EDI 或自定义格式。单击 Conversion Options 按钮并进行所需的更改。 

    3. 选择其中一项消息分组选项:

      • Based on operation/type: 根据操作或消息类型对消息进行分组。这对于包含可以通过操作或格式的消息类型(即,SOAP 主体下元素的名称、纯 XML 消息中根元素的名称或指定消息格式的消息类型)。为在通讯报文文件中发现的每个操作/类型生成一个响应器。

      • Based on similar requests: 根据请求消息结构对消息进行分组。这告诉 Virtualize 分析请求消息结构并将请求/响应分组到响应程序中,以便每个响应程序将包含与具有类似结构的请求相关的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为是“相似的”。此选项用于优化和简化将请求与每个消息响应器中的响应关联的规则。
      • Based on similar responses: 根据响应消息结构对消息进行分组。这告诉 Virtualize 分析响应消息结构并将请求/响应对分组到响应程序中,以便每个响应程序将包含具有类似结构的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为是“相似的”。

      • None:没有分组。为通讯报文文件中的每个响应消息生成一个响应器。如果希望每个请求/响应对位于单独的消息响应器中,请使用此选项。

  5. 单击 Next 并在消息分组审阅屏幕中审阅有关操作和邮件的信息。 
    1. 包括的列基于所应用的分组策略。 
    2. 每个表行表示定义组的标准。将为每个表行生成一个组。将为每个组生成一个响应程序。 
    3. 相关条件将按它们在表中的显示顺序(从上到下)进行处理。URL 路径和参数将根据录制类型中的字段进行参数化。这些字段将具有一个自动生成的名称,并且将在“数据重用”页面(向导中稍后)中可见。

    4. 使用可用的控件添加、修改、重新排序和删除分组条件。有关在 SOAtest 中配置分组条件的详细信息,请参见 自定义分组标准如果更改条件,请确保在继续之前单击 Regroup 。

    5. 如果想指定 WSDL/schema,请启用 Configure WSDL/Schema,然后在下一屏幕中制定合适的值。


      您应该指定 WSDL 还是 Schema?

      指定 WSDL 或模式的优点包括:

      生成的表单输入模型将根据 WSDL/Schema,当您编辑和维护结果表单输入时,该模式提供了丰富的类型。

      变更指导助手(如 Change Management 中描述)可以帮助您保持资产与不断发展的服务和不断变化的环境条件保持同步。

      如果您注意到生成的表单输入及其数据参数化与原始消息不匹配,则说明消息没有完全匹配 WSDL/Schema,或者映射原始消息失败。如果遇到这样的问题,应该忽略 WSDL/Schema,以确保生成的表单输入模型完全匹配通讯报文消息。

  6. 单击 Next ,然后在请求匹配屏幕中配置设置。

    1. 单击 Request/Response 对,并验证是否已建立正确的相关性。您可以单击并拖动连接请求和响应的点以更改匹配。
    2.  单击 Request Correlation 选项,然后在下拉菜单中选择一种响应程序模式。 
  7. 以及在数据重用屏幕中配置导入的通信量应如何重用或它应如何影响现有数据。
    1. 定义的录制标识用于确定哪些数据是新的,哪些新录制与现有录制匹配。如果尚未为此数据集指定标识,则可以在此页面的数据树中添加/修改标识此页。 
    2. 树用绿色箭头图标指示标识字段。现有的数据集用注释标注。
    3. 您可以控制通讯报文文件的数据将如何扩展和/或更新现有资源库数据集。 

      • Replace: 删除现有数据,然后添加新数据

      • Append: 添加新纪录,而无需首先删除现有数据。

    4. 还可以控制匹配的数据(匹配现有的录制类型,由标识定义)是否重新使用现有的录制类型或更新现有的录制。这个 Reuse 选项允许您重用/共享匹配的现有录制。这个 Update 选项允许您使用来自通讯报文的数据更新现有录制相对应的字段,并为新的录制类型添加新纪录。有关指定身份并在 SOAtest 中的可用数据重用/更新选项中进行选择的其他详细信息,请参见 配置数据重用和更新。 有关 Virtualize,请参阅 配置数据重用和更新

  8. 单击 Next 并在最终选项屏幕中指定任何其他配置:
    1. 您可以将向导配置为以表单或文字模式创建消息。这些模式显示一个表单输入视图(请参阅 表单输入)或文字视图(请参阅 文字)。   
    2. 可启用 Export configuration data into a reusable template 选项,并指定文件名和位置以将在此向导中使用的设置保存为模板。(仅限 MQ 和 JMS)在下一个 SOAtest 向导页中指定连接设置。这些设置将应用到创建此通讯报文的工具。有关更多详情,请查阅 配置 MQ 选项  配置 JMS 选项。有关创建和使用模板的详情,请查阅 在 Oatest 中使用配置模板重用和共享向导设置 。

    3. 单击 Finish

将创建和配置以下项目:

    • 一个或多个具有参数化值的测试客户端。创建的工具将是 SOAP 客户端、REST 客户端、EDI 客户端或消息客户端,具体取决于消息格式。除非消息是 XML 或 JSON 并且消息太大以至于会对性能产生影响,否则这些工具将默认为“表单输入/表单JSON”视图。在这种情况下,将使用文字视图。

    • 对于新的数据存储库,将添加具有适用数据集和录制类型的存储库。每个通过分析通讯报文确定的消息组将添加一个数据集。对于现有数据存储库,将向现有存储库添加新的数据集和录制类型。

    • 将为每个添加的数据集添加存储库数据源,并将每个测试客户端和消息响应程序配置为使用相关的数据源。

例如,以下是使用数据存储库值参数化的示例 REST 客户端:

这是相应存储库的一部分:

现在,此参数化的、数据驱动的 REST 客户端可以在广泛的测试值范围内运行,而无需对工具本身进行任何修改。您可以修改或扩展关联的数据存储库值,而不是编辑工具。

有关如何编辑和扩展存储在数据存储库中的数据的详细信息,请参阅 查看和修改资源库结构和内容

通讯报文文件中存在的自定义传输头和任何 SOAP 头(例如,WS-Security 头)不会自动配置到生成的资产或数据存储库数据集中。

完成 SOAtest 向导:高级话题

以下主题提供了帮助您完成向导的其他详细信息:


  • No labels