本主题介绍如何将 REST 和 SOA 功能测试套件转换到虚拟资产中,以模拟在执行测试时观察到的 SOAtest 行为。
关于虚拟资产
您可以使用 SOAtest 建立一个您希望模拟的场景模型(只需与要模拟的实际组件进行交互),然后自动将该场景“翻转”到模拟该场景的“虚拟资产”中。这些虚拟资产随后可部署在 Parasoft Virtualize 上,从而实现对组件的全天候访问,否则这些组件可能无法使用或难以用于测试。
例如,假定您正与 Amazon Web Services(AWS)进行交互。为了模拟您正在使用的服务,您可以建立一个与实际服务交互的场景模型,然后自动将该场景“翻转”到模拟版本中。使用本地部署的模拟版本,您可在测试环境(而非依赖 Amazon)中控制其行为。这一点使得您更易模拟错误条件、实际延迟等等。
您可以为以下测试创建虚拟资产:
- 使用 JMS 或 MQ 的 SOAP 客户端测试。
- 消息传送客户端测试。
- REST 客户端测试。
创建虚拟资产
若要从 SOAtest 测试场景创建虚拟资产:
- 设计一个功能测试套件,表示您希望虚拟资产模拟的通讯报文。例如,您可以根据通讯报文中的历史请求/回复集创建测试套件,也可以设计一个功能测试套件,设置代表要模拟的上下文应用程序行为的事件序列。
- 运行您希望从中创建虚拟资产的测试套件。
- 右键点击测试套件的测试用例浏览器节点,选择创建虚拟资产。
- 在打开的向导中,调整虚拟资产文件名和位置(如果需要),然后点击下一步。
- 您甚至希望将它保存在团队 Parasoft Virtualize 工作空间中的“VirtualAssets”项目中。
- 您甚至希望将它保存在团队 Parasoft Virtualize 工作空间中的“VirtualAssets”项目中。
(可选)指定 Virtualize 在确定虚拟资产应发送哪个响应时应考虑哪些请求消息参数。在消息响应器工具配置(Parasoft Virtualize 中)中,您可以查看和配置在收到与这些“相关”值匹配的消息时虚拟资产应返回的响应。
- 如果您希望 SOAtest 根据不同的请求自动选择参数,选择自动。有了这个选项,当前相似请求组中所有的请求(当前操作)都将互相比较和分析,以便识别不同请求之间不同的参数(元素值和属性值),然后发现的第一个变化参数将被用于关联目的。如果您了解到多个参数可以变化,并且应使用不止一个参数关联请求和响应,则选择选择相关的参数模式。
- 如果您有一个复杂的服务和/或希望手动指定哪些参数是相关的,或者,如果要为该确定选择多个参数,选择选择相关的参数,然后使用可用控件以指示要使用的参数。
- 例如,如果您希望 SOAtest 在确定发送哪个虚拟资产响应时可以忽略时间戳、随机会话 ID 之类的东西,那么您可能想要以这种方式自定义参数的使用。
假定请求消息有 3 个参数:x、y、z。如果您希望 Virtualize 在确定虚拟资产应发送哪个响应中考虑 y 和 z 的值,则您可以在此处指定 y 和 z。 然后,y 和 z 的选择将反映在所生成的消息响应器工具的响应设置中。您可以在这里指定希望虚拟资产返回什么响应。
- 点击完成。
SOAtest 根据所选的测试场景自动创建虚拟资产。虚拟资产是作为一组消息响应器工具来实现的,并以指定的名称和指定的位置在 .pva 文件中进行分组。 将消息响应器工具的结果 .pva 文件添加到指定位置。
您可以使用不同的请求/响应用例、错误条件、延迟等自定义虚拟资产,如 Parasoft Virtualize 用户指南中所述。