本主题解释如何将 REST 和 SOA 功能测试套件转换到虚拟资产中,以模拟在执行测试时观察到的 SOAtest 行为。 

关于虚拟资产

您可以使用 SOAtest 建立一个您希望模拟的场景模型(只需与要模拟的实际组件进行交互),然后自动将该场景“翻转”到模拟该场景的“虚拟资产”中。随后,这些虚拟资产可以部署在 Parasoft Virtualize 上 — 启用对组件 24/7 的访问,否则,这些组件可能不可用或是难以访问以进行测试。

例如,假定您正与 Amazon Web 服务(AWS)进行交互。为了模拟您正在使用的服务,您可以建立一个与实际服务交互的场景模型,然后自动将该场景“翻转”到模拟版本中。使用本地部署的模拟版本,您可在测试环境(而非依赖 Amazon)中控制其行为。这一点使得您更易模拟错误条件、实际延迟等等。

您可以为以下测试创建虚拟资产:

  • 使用 JMS 或 MQ 的 SOAP 客户端测试。
  • 消息传递客户端测试。
  • REST 客户端测试。

创建虚拟资产

若要从 SOAtest 测试场景创建虚拟资产:

  1. 设计一个功能测试套件,表示您希望虚拟资产模拟的流量。例如,您可以基于历史数据(从 Amberpoint、流量等等请求/响应集)创建测试套件。或者,您可以设计一个功能测试套件,配置表示您希望模拟的上下文应用程序行为的事件序列。
  2. 运行您希望从中创建虚拟资产的测试套件。
  3. 选择测试套件的测试用例资源管理器节点,然后从快捷菜单选择 Create Virtual Asset

  4. 在打开的向导中,调整虚拟资产文件名和位置(如果需要),然后单击 Next
    • 您甚至希望将它保存在团队 Parasoft Virtualize 工作空间中的 "VirtualAssets” 项目中。

  5. (可选)指定您希望 Virtualize 如何确定在确定虚拟资产应发送哪个响应时应考虑哪个请求消息参数。在消息响应程序工具配置(在 Parasoft Virtualize 中)中,您将可以在消息匹配这些接收到的“关联”值的其中一个时预览并配置虚拟资产应返回的响应。

    针对 SOAP 客户端和测试客户端

    响应消息或请求格式不必是 XML。然而,如果您想进行请求/响应关联(例如,要想 SOAtest 自动发现变更参数,并为多个响应配置 Xpath),则请求格式需要是 XML。如果请求不是 XML,则虚拟资产将配置为单个响应。

    如果存在多个使用 JMS 的测试,则第一个使用 JMS 配置的测试将被用来配置用于虚拟资产的 JMS。

    • 如果您希望 SOAtest 根据不同的请求自动选择参数,选择 Automatic 。有了这个选项,当前相似请求组中所有的请求(当前操作)都将互相比较和分析,以便识别不同请求之间不同的参数(元素值和属性值),然后发现的第一个变化参数将被用于关联目的。如果您了解到多个参数可以变化,并且应使用不止一个参数关联请求和响应,则选择 Select Relevant Parameters 模式。
    • 如果您有一个复杂的服务和/或希望手动指定哪些参数是相关的,或者,如果要为该确定选择多个参数,选择 Select Relevant Parameters,然后使用可用控件以指示要使用的参数。
      • 例如,如果您希望 SOAtest 在确定发送哪个虚拟资产响应时可以忽略时间戳、随机会话 ID 之类的东西,那么您可能想要以这种方式自定义参数的使用。
      • 假定请求消息有 3 个参数:x、y、z。如果您希望 Virtualize 在确定虚拟资产应发送哪个响应中考虑 y 和 z 的值,则您可以在此处指定 y 和 z。  然后,y 和 z 的选择将反映在所生成的消息响应程序工具的响应设置中。您可以在这里指定希望虚拟资产返回什么响应。



        针对 REST 客户端

        当从 REST 客户端创建虚拟资产时,运行测试时记录的不同 URL 参数值将用来建立请求/响应相关性。该向导将显示用于选择相关 URL 参数的类似选项。

  6. 点击 Finish 按钮。

SOAtest 根据所选的测试场景自动创建虚拟资产。虚拟资产是作为一组消息响应程序工具来实现的,并以指定的名称和指定的位置在 .pva 文件中进行分组。  将消息响应程序工具的结果 .pva 文件添加到指定位置。
您可以使用不同的请求/响应用例、错误条件、延迟等自定义虚拟资产,如 Parasoft Virtualize 用户指南中所述。

  • No labels