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

在本章节中:

前提条件

部署 Parasoft JDBC 驱动程序  

我们将首先将 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 透视图,然后选择 Run> Run Configurations。 
  5. 选择  Apache Tomcat> ParaBank Tomcat 8.5 Server。 
  6. 在  Arguments 选项卡下,将下列 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,从应用程序菜单中选择 Environment Manager
  2. 单击工具栏中的 Add System ,然后选择 Create an empty system 选项。
  3. 单击 Create ,然后点击新系统标签旁边的编辑(一只笔的图标)按钮。
  4. 将您的系统重命名为“Parabank”,然后点击应用按钮来保存您的更改。
  5. 将数据库组件拖到关系图区域并单击保存按钮。
  6. 从系统页面上的 actions 下拉菜单中选择 New Environment
     
  7. 单击新环境的编辑按钮,并将其命名为“Silo 1”。
  8. 保存环境。

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

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

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

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

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

从 CTP 环境录制数据库查询 

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

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

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

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

  1. 在 Virtualize 桌面中,右键单击虚拟资源管理器中的 VirtualAssets 文件夹,然后选择 Add New…> Virtual Asset (.pva) File
  2. 在 File name 字段中输入 ParabankLogin ,然后单击 Next
  3. 选择 Recorded Database Queries ,然后单击 Next
  4. 从服务器下拉菜单中选择录制数据库查询的 Virtualize 服务器。
  5. 从 Databases 下拉菜单中选择数据库的位置。
  6. 在响应程序数据源类型部分中选择 Data Repository 选项,然后单击 Next
  7. 指定数据存储库服务器和凭据。
  8. 在 Repository Name 字段中输入 ParabankDB 。您还可以指定现有存储库,但当虚拟资产查询数据库时,捕获的数据将覆盖数据。存储库是相关数据集的集合。
  9. 在SQL数据集部分的 Name 字段中,输入 parabank-login。数据集是相关数据字段的集合。
  10. 单击 Validate 以确保设置配置正确,并在准备就绪时单击 Finish

虚拟资产将使用录制的 SQL 模板,用数据库中的数据填充数据存储库。在 CTP 中打开 TDA 模块,然后单击存储库以访问数据。 

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

创建资源库备份

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

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

创建虚拟数据库实例 

  1. 打开环境管理器模块,查看环境关系图。
  2. 选择 Workspace 选项卡中的 Silo 1 ,然后单击 Edit Diagram
  3. 将指针悬停在 Database 组件上,然后单击下拉菜单。
  4. 选择 New Instance ,并在 name 字段中输入“Virtual”。
  5. 启用 JDBC Controller 选项,然后单击 Select a JDBC Controller
  6. 单击 parabank 控制器并将模式设置为 Virtualize
  7. 单击 Finish ,然后单击 Provision ,启用环境实例。

通过使用 TDA 进行更改,可以验证虚拟数据库是否与存储库中的数据一起使用。 

  1. 打开 TDA 模块并导航到 ParabankDB 数据存储库。
  2. 单击 parabank-login 数据集以查看录制。
  3. 单击包含余额信息的 SQL 模板。这个录制应该在第 4 行。
  4. 展开行以访问录制数据,然后单击编辑(笔图标)按钮。
  5. 更改余额值并单击保存(复选标记)按钮。 
  6. 返回 ParaBank 并登录。应反映更新后的余额。  

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

  • No labels