在本章中,我们将讨论如何将数据导入测试基础设施。我们将使用 Parasoft SOAtest 和 Virtualize 附带的一个 Parabank 示例应用程序实例,并将代理添加到应用程序配置中,以便我们能够将数据捕获到数据资源库中。  

章节目录:

前提条件

部署 ParasoftJDBC 驱动程序  

我们将首先将 ParasoftJDBC 驱动程序部署到 Parabank 级别,并配置到 SOAtest/Virtualizer 服务器的连接。Parasoft JDBC 驱动程序是一种特殊的 JDBC 驱动程序,它可以充当应用程序与其常规 JDBC 驱动程序的中间人。请参阅关于 Parasoft JDBC 驱动程序了解更多。 

  1. 打开 <SOATEST/VIRTUALIZE_INSTALL>/proxies 目录
  2. 将 ParasoftJDBCDriver.jar 文件复制到 <WORKSPACE>/ParaBank/WebContent/WEB-INF/lib 目录。
     
  3. 打开 ParaBank/src/jdbc.properties 文件并指定以下设置:

    jdbc.driverClassName=com.parasoft.xtest.jdbc.virt.driver.JDBCProxyDriver 
    jdbc.url=jdbc:parasoft:proxydriver:org.hsqldb.jdbcDriver:@jdbc:hsqldb:hsql://localhost/parabank 
    jdbc.username=sa 
    jdbc.password= 

     

  4. 在 Virtualize 桌面端打开 Java 透视图,然后选择运行> 运行配置。 
  5. 选择  Apache Tomcat> ParaBank Tomcat 8.5 Server。 
  6. 参数选项卡下,将下列 Parasoft JDBC 驱动程序标志添加到 VM 参数部分已经列出的内容中:

    -Dparasoft.virtualize.server.url=http://localhost:9080 -Dparasoft.virtualize.group.id=parabank 
     -Dparasoft.virtualize.driver.register.jdbcproxydriver.in.drivermanager=true -Dparasoft.virtualize.driver.proxy.direct=true 

     

  7. 使用更新的运行配置或重启 ParaBank 服务器。可以在 Virtualize 桌面端打开控制台视图,登录 ParaBank 并退出登录来验证代理是否工作。

如果您正在将本教程应用于自己的项目,则文档中包含了关于如何将 Parasoft JDBC 驱动程序部署到多个应用程序的说明。请参阅使用 Parasoft JDBC 驱动程序

录制数据库查询 

在此步骤中,我们将录制一个数据库查询并使用它创建一个虚拟资产。录制数据库查询不会向数据资源库添加数据。为了捕获数据,必须执行一个操作,例如向连接到资源库的虚拟资产发送一条消息。您可以在 Virtualize 桌面端或 CTP 中执行此步骤。在本教程中,我们将使用 CTP,这需要一些额外的配置。 

创建环境 

我们将在 CTP 中创建一个新的系统、环境和数据库组件。系统是开发基础结构的表示。系统包含一个或多个环境表示,例如“回归测试”、“集成测试”等等。另外,可以创建环境的几个实例来满足您的测试需求。

系统是一个由多个组件组成的面板,例如数据库、服务器、客户端等。每个组件的实例都包含在特定环境中使用的配置。一个实际的系统会包含几个组件,但我们将只使用数据库组件来说明工作流程:

  1. 打开 CTP,从应用程序菜单中选择环境管理器
  2. 点击工具栏中的添加系统,选择创建一个空系统选项。
  3. 点击创建,然后点击新系统标签旁边的编辑(笔图标)按钮。
  4. 将您的系统重命名为“Parabank”,点击应用按钮来保存您的更改。
  5. 将数据库组件拖到关系图区域并点击保存按钮。
  6. 从系统页面上的操作下拉菜单中选择新环境
     
  7. 点击新环境的编辑按钮,并将其命名为“Silo 1”。
  8. 保存环境。

您现在应该有一个名为 Parabank 的系统,其由一个单一数据库组成。该系统包含 Silo 1 环境。接下来,我们将添加数据库组件的多个实例来配置不同的状态。

将数据库组件实例添加到环境中 

组件是一种可以出现在环境中的对象类型。必须添加执行特定功能的组件实例,才能使它们发挥作用。 

  1. 将指针悬停在数据库组件的右上角,将出现选项下拉菜单按钮。
  2. 点击下拉菜单,选择新建实例
  3. 在名称字段中输入“转移”。
  4. 在实际端点部分选择 HTTP 选项,并指定应用程序的主机、端口和路径。
  5. 启用 JDBC 控制器选项并点击选择一个 JDBC 控制器。 
  6. 选择“parabank”控制器,并指定透传作为模式。可以在本节中保留所有其他配置的默认值。有关这些设置的更多信息,请参阅配置 JDBC 控制器。 
  7. 点击完成并重复步骤 1-6 来配置一个“录制”实例。
  8. 配置录制实例之后点击完成。 

现在已经为数据库组件配置了转移模式和录制模式。下一步是启用录制和捕获查询。

从 CTP 环境录制数据库查询 

  1. 确认数据库组件的录制实例已启用,然后点击提供按钮。
  2. 应显示一个服务提供成功的提示。
  3. 关闭示意图编辑器并打开 Parabank 应用程序。
  4. 登录 Parabank(用户名/密码:john/demo),然后注销。此操作查询数据库以获取演示用户的帐户信息。
     
  5. 在 CTP 中,将数据库组件实例更改为透传,然后点击提供停止录制。
  6. 停止录制后,将向 Virtualize 服务器添加包含数据库录制文件的新目录。您可以切换到服务虚拟化模块来查看 CTP 中的文件。

下一步是创建连接到数据资源库的虚拟资产,以捕获与查询关联的数据。我们将使用 Virtualize 桌面端来完成此步骤。 

通过数据库录制创建虚拟资产

当您只使用 JDBC 驱动程序的查询模板录制数据库查询时,不会捕获数据。我们将使用数据库查询模板创建一个虚拟资产,并附加一个数据资源库和消息响应器来捕获数据。 

  1. 在 Virtualize 桌面端中,右键点击虚拟资产浏览器中的 VirtualAssets 文件夹,然后选择新建…> 虚拟资产 (.pva) 文件
  2. 在文件名称字段中输入 ParabankLogin,点击下一步
  3. 选择记录的数据库查询,然后点击下一步
  4. 从服务器下拉菜单中选择录制数据库查询的 Virtualize 服务器。
  5. 从数据库下拉菜单中选择数据库的位置。
  6. 在响应器数据源类型部分中选择数据资源库选项,然后点击下一步
  7. 指定数据资源库服务器和凭据。
  8. 在资源库名称字段中输入 ParabankDB 。您还可以指定现有资源库,但当虚拟资产查询数据库时,捕获的数据将覆盖数据。资源库是相关数据集的集合。
  9. 在 SQL 数据集部分的名称字段中,输入 parabank-login。数据集是相关数据字段的集合。
  10. 点击验证以确保设置配置正确,并在准备就绪时点击完成

虚拟资产将使用录制的 SQL 模板,用数据库中的数据填充数据资源库。在 CTP 中打开测试数据模块,点击您的资源库访问数据。 


现在我们已经在数据库中捕获了数据,我们将制作数据资源库的快照,以便在必要时始终将数据重置为其初始状态。

创建资源库备份

  1. 在数据选项卡中选择 ParabankDB 资源库,点击导出
  2. 在提示时指定导出的名称,然后点击导出
  3. 点击服务器节点,查看导出的资源库。所有导出在此界面上都将可用。
  4. 点击导出,访问管理选项并查看详细信息。

下一步是配置一个虚拟数据库实例,该实例将从资源库中提取数据以进行测试。 

创建虚拟数据库实例 

  1. 打开环境管理器模块,查看环境示意图。
  2. 选择工作空间选项卡中的 Silo 1,点击编辑图表
  3. 将指针悬停在数据库组件上,然后点击下拉菜单。
  4. 选择新建实例,并在名称字段中输入“Virtual”。
  5. 启用 JDBC 控制器选项,然后点击选择一个 JDBC 控制器
  6. 点击 parabank 控制器并将模式设置为 Virtualize
  7. 点击完成,然后点击提供,启用环境实例。

通过使用测试数据进行更改,可以验证虚拟数据库是否使用了资源库中的数据。 

  1. 打开测试数据模块并转到 ParabankDB 数据资源库。
  2. 点击 parabank-login 数据集以查看记录。
  3. 点击包含余额信息的 SQL 模板。该记录应该在第 4 行。
  4. 展开该行以访问记录数据,点击编辑(笔图标)按钮。
  5. 更改余额的值并点击保存(勾号)按钮。 
  6. 返回 ParaBank 并登录。应反映更新后的余额。  

此时,您可以克隆和修改记录,并使用 API 和手动 UI 测试中的数据。但我们将使用更强大的测试数据功能来扩展和修改测试数据,以满足软件测试生命周期中任何阶段的需求。 

  • No labels