前提条件

  • 在开始通过通讯报文创建参数化的测试客户端或消息响应程序之前,您的团队必须已安装并正在运行数据资源库服务器。有关详细信息,请查阅 安装远程数据库服务器
  • 消息内容必须是格式良好的(例如,如果是 XML,它必须是格式良好的;如是 EDI,它必须是有效的 EDI,等);否则,可能无法从通讯报文中自动创建测试。SOAP 消息和/消息响应程序必须只有一个顶级 XML 元素。
  • 消息分组选项,注意数据存储库不支持具有混合类型的 JSON 数组的参数化。  如果 JSON 数组不是混合类型,那么 SOAtest 或 Virtualize 将假设数组中的所有元素都与第一个元素的类型相同。

监视控制台视图

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

使用向导

  1. 在可用的创建向导中选择 Traffic> Generate Parameterized Messages 选项。有关更多细节,请参阅文以下章节: 

    添加项目、虚拟资产和响应程序套件

  2. 在通讯报文向导中指定以下信息等),然后单击 Next
    1. 指定通讯报文文件的位置。
    2. 如果需要,请更改字符编码。
    3. 如果要用保存在模板中的前一组设置填充向导,请输入该模板的位置。

      查阅 使用配置模板重用和共享向导设置 以获得 Virutalize 中创建和使用模板的更多详情。

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

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

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

  4. 在消息格式和分组策略 屏幕中配置设置:


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

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


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

      • Based on operation/type: 根据操作或消息类型对消息进行分组。这对于包含可以通过操作或格式的消息类型(即,SOAP 主体下元素的名称、纯 XML 消息中根元素的名称或指定消息格式的消息类型)。为在通讯报文文件中发现的每个操作/类型生成一个响应器。如果选择此选项,Virtualize 将根据其对通讯报文文件的分析, 建议应用分组探索式。您可以更改预先选择的探索式。有关探索的更多信息,请参见 了解按操作类型分组的启发式

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

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


  5. 单击 Next 并在消息分组审阅屏幕中审阅有关操作和邮件的信息。 
    1. 包括的列基于所应用的分组策略。 
    2. 每个表行表示定义组的标准。将为每个表行生成一个组。将为每个组生成一个响应程序。 
    3. 相关条件将按它们在表中的显示顺序(从上到下)进行处理。 

      有关如何创建这些分组的详细信息,请查阅 了解按操作类型分组的启发式

    1. 使用可用的控件添加、修改、重新排序和删除分组条件。 

      有关在 Virtualize 中配置分组条件的详细信息,请参见 自定义分组标准

      如果更改条件,请确保在继续之前单击 Regroup 。

    2. 如果选中了所有 Autoconfig 框,并且希望 Virtualize 自动为指定组配置邮件响应程序,则可以跳过此步骤

      如果要执行以下任何任务,请为要自定义的每个消息组禁用 Autoconfig ,单击 Next,然后按照中所述配置请求映射 定制请求匹配和关联

      • 自定义应该使用哪些参数值确定虚拟资产的响应消息。 
      • 修改自动的请求/响应对匹配 
      • 指定 WSDL 或模式

      当消息组中有多个请求且路径、参数或正文存在差异时,自动配置通常可用。如果 Autoconfig 框显示为灰色,则表示该组无法使用自动配置;有关为何无法自动配置特定组的更多详细信息,请参阅该项目的工具提示。



      有关面板顶部列出的任何项目(处理对、未处理对、与组不匹配的消息等),请单击关联的超链接。



      要查看与特定响应者相关的消息和/或更改响应者和数据集名称,请单击 Count 列中的相关行。



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

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

    4. 还可以控制匹配的数据(匹配现有的录制类型,由标识定义)是否重新使用现有的录制类型或更新现有的录制。这个 Reuse 选项允许您重用/共享匹配的现有录制。这个 Update 选项允许您使用来自通讯报文的数据更新现有录制相对应的字段,并为新的录制类型添加新纪录。
       

      Virtualize Only 选项

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

      合并:在无需修改现有数据的情况下,导入新数据:

      Update: 使用新数据更新匹配的记录,并根据需求创建新纪录。

      Overwrite: 使用功能新数据更新匹配的记录(和匹配键),不创建任何额外的记录。


      有关 Virtualize,请参阅 配置数据重用和更新

    5. Infer constraints from 选项允许 Virtualize 确定存储库中存储的数据的特征。可以根据数据或服务定义推断约束。
  8. 单击 Next 并在最终选项屏幕中指定任何其他配置:
    1. 您可以将向导配置为以表单或文字模式创建消息。这些模式显示一个表单输入视图(请参阅 表单输入)或文字视图(请参阅 文字)。   
    2. 可启用 Export configuration data into a reusable template 选项,并指定文件名和位置以将在此向导中使用的设置保存为模板。 

      如果要在 Virtual Assets 文件夹中创建 .pva,以实现自动部署,请通过为要创建的虚拟资产指定所需的名称和部署路径来完成 Deploy Virtual Asset 向导页面,然后单击 Next。虚拟资产将部署在列出的端点。有关更多详情,请查阅 Configuring Individual Virtual Asset Deployment Settings

    3. 单击 Finish

将创建和配置以下项目:

    如果在虚拟资产文件夹中创建 .pva,则在向导完成时,虚拟资产将自动部署到本地 Virtualize 服务器。否则,可以手动将其部署到本地或远程服务器。

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

    请注意,通讯报文文件中存在的自定义传输头和任何 SOAP 头(例如,WS-Security 头)不会自动配置到生成的资产或数据存储库数据集中。您可以在生成的消息响应程序中指定它们

     (查阅 消息响应程序概要 以获得详细信息)。

    部署虚拟资产

    如果在虚拟资产文件夹中创建 .pva,则在向导完成时,虚拟资产将自动部署到本地虚拟化服务器。否则,您可以随时将其部署到本地或远程服务器。

    有关部署过程和选项的更多详情说明,请查阅 部署虚拟资产 - 概要

    自定义虚拟资产

    关于如何自定义消息响应程序行为的更多详情,请查阅 消息响应程序概要

     了解选择/扩展类型支持

    如果在向导的末尾没有输入 WSDL 或模式文件,Virtualize 将使用录制的通讯报文的数据结构来创建数据存储库。当一个元素的数据结构在录制的通讯报文中发生变化时,该元素的类型很可能是基础架构中的一个选项。但是,向导不显式地支持选择类型;它将元素的数据结构解释为所有可能的子元素的序列。

    例如,假设一个元素的实际架构如下:


    <element name="parent">
        <complexType>
            <choice minOccurs="0" maxOccurs="unbounded">
                <element name="child1"/> 
                <element name="child2"/> 
                <element name="child3"/>
            </choice>
        </complexType> 
    </element>


    Virtualize 将使用以下数据结构表示元素:


    <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 将以固定顺序参数化消息数据。因此,在本例中,元素“child1”和“child2”在响应消息中的顺序始终相同。

    完成 Virtualize 向导:高级话题

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

    视频教程:从使用消息代理录制的通讯报文中创建虚拟资产

    在本视频中,您将学习如何从一个使用消息代理录制的通讯报文创建一个虚拟资产。

  • No labels