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

关于虚拟资产

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

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

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

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

创建虚拟资产

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

  1. 设计一个功能测试套件,表示您希望虚拟资产模拟的通讯报文。例如,您可以根据通讯报文中的历史请求/回复集创建测试套件,也可以设计一个功能测试套件,设置代表要模拟的上下文应用程序行为的事件序列。
  2. 运行您希望从中创建虚拟资产的测试套件。
  3. 右键点击测试套件的测试用例浏览器节点,选择创建虚拟资产
  4. 在打开的向导中,调整虚拟资产文件名和位置(如果需要),然后点击下一步
    • 您甚至希望将它保存在团队 Parasoft Virtualize 工作空间中的“VirtualAssets”项目中。
  5. (可选)指定 Virtualize 在确定虚拟资产应发送哪个响应时应考虑哪些请求消息参数。在消息响应器工具配置(Parasoft Virtualize 中)中,您可以查看和配置在收到与这些“相关”值匹配的消息时虚拟资产应返回的响应。

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

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

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

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

        针对 REST 客户端

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

  6. 点击完成

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

  • No labels