Page tree

Skip to end of metadata
Go to start of metadata

SOA 应用程序通常由不同的团队在不同的环境下开发和维护。

例如,开发人员可以在本地服务上启动测试。然后,当应用程序部署到开发构建服务器时,需要对该服务器执行相同的测试。随后,QA 和测试团队需要在它们自己集成的服务器上运行相同的回归测试。

Parasoft SOAtest 的环境管理功能促进了这类任务,因为重复使用和共享测试资产对于实现高效流程非常关键。一种常见的方法是让 SOAtest 配置自动生成的测试环境,然后修改环境设置,以便生成的测试可以更轻松地在不同环境中使用,而无需实际测试的任何更改。

若要使用预配置的环境变量创建新的测试套件:

  1. 右键单击以前练习的项目,然后从快捷菜单中选择 Add New> Test (.tst) File
  2. 输入文件名称,然后单击 Next
  3. 选择 SOA> WSDL ,然后单击 Next
  4. WSDL URL 字段中输入 http://localhost:8080/parabank/services/store-01?wsdl
  5. 确保已选中 Create Functional Tests From the WSDL



  6. 单击 Next 按钮两次,进入 Create Environment 页面。
  7. 选择 Configure environment settings for your project,在 Name 字段下输入 Default Store Environment ,在 Variable Types下选择 Both ,然后单击 Finish.



    一个新的 Test Suite: Test Suite 节点显示在测试用例资源管理器选项卡中。新环境变量将被添加到默认存储环境(Default Store Environment)节点中。
  8. 双击添加到新测试套件的 Default Store Environment 节点。注意,环境配置现在如何包含 WSDL 和端点的变量。



  9. 打开一个生成的 SOAP 客户端测试,注意,上面显示的变量是通过名称引用的。例如:





  10. 运行 getItemByTitle 测试。SOAP 消息将被发送到原始存储服务中。



若要配置 SOAtest 以在其他环境中运行这些相同的测试,则创建新的环境配置:

  1. 右键单击 Environments 节点并选择 New Environment
  2. 在新环境配置面板中,在 Name 字段中输入 Echo Environment
  3. 在表中,输入以下变量名和值:
    • ENDPOINT: http://localhost:8080/parabank/echo.jsp
    • WSDL: http://localhost:8080/parabank/services/store-01?wsdl



  4. 单击 Save ,保存新环境。
  5. 右键单击新 Echo Environment 节点,然后从快捷菜单中选择 Set as Active Environment 。这将设置新环境作为测试项目的新配置。
  6. 运行测试。SOAP 消息将被发送到 echo.jsp,而不是原始存储服务中。



注意:

  • 类似于默认存储环境和 Echo 环境的 环境配置 可以导出和导入到外部 XML 文件中,也可以上传和引用到 Parasoft 团队服务器中。
  • 类似于 ${ENDPOINT} and ${WSDL} 的 环境变量 可以从测试设置 GUI中的多数字段(而不只是 URL 字段)引用。
  • 在数据源编辑器中,使用 soa_env 前缀来引用环境变量。例如, ${soa_env:Variablel}/calc_values.xlsx

Web 场景中的环境

环境可以部署来协助 web 场景执行,在很大程度上,它们可以用于服务功能测试。

创建 web 功能测试时,将创建一个新环境。默认情况下,它包含正在测试(名为 {DOMAIN_COM_BASE_URL})的 web 站点上的 base URL。可以创建其他环境,该环境可以将测试初始化重定向到另一个 base URL(比如,正在测试一个本地部署的 web 应用程序)。

切换用于自动回归测试的环境

环境最大优点之一便是能够从命令行重新运行相同的回归套件,而无需打开 SOAtest GUI 并修改主机或 URL 设置。

关于如何实现这一点的示例,请查阅  Applying an Environment Configuration to a Regression Test from the Command Line

  • No labels