可以在多个级别上添加数据源:

  • 测试 
  • 项目
  • 全局 

数据源级别越高,共享的范围就越广。例如,如果希望添加一个数据源,它只适用于特定测试、响应程序或操作套件,则在套件级别添加它。如果希望将它在一个项目的所有套件中共享,则在项目级别添加它。如果希望将它在多个项目中共享,则在全局级别添加它。  

全局和项目级别的数据源可以重复使用,并且在单个项目文件之外共享。它们保存在属性文件中,该属性文件可以检入/检出源代码控制(如果使用源代码控制),以便共享。全局数据源保存在单个属性文件中,可以在首选项面板(在 Preferences> Parasoft> Global Data Sources下)中进行定义。项目级别数据源保存在 Eclipse 项目目录下的 .parasoft 文件中。如果正在进行负载测试,请注意,负载测试工具当前不支持全局数据源。引用全局数据源的测试套件可以通过复制粘贴全局数据源到 SOAtest 项目的跟测试套件中来进行弥补。若要添加数据源

  1. 进行下列其中一项操作:
    • 针对套件级别数据源,请选择所需的套件节点,然后单击 Add Database 工具栏按钮。



    • 针对项目级别数据源,右键单击相关项目的 Test Case Explorer 或 Virtual Asset Explorer 节点,然后选择 Add New> Data Source
    • 针对全局级别数据源,右键单击 Global Data Sources 节点,然后选择 Add New> Data Source
  2. 选择数据源类型,然后单击 Finish。有关 Bean 向导,请单击 Next 。一旦数据源完成添加,则将打开它的配置面板,并在合适的 Data Sources 分支中表现。将为每个可用的数据源添加一个节点。
  3. 按照下面所描述,配置该数据源: 

配置资源库数据源

Parasoft 的数据资源库旨在帮助团队定义、扩展并审查大型和/或层次数据集,以便在 Parasoft 消息传递工具中使用。关于配置资源库数据源的更多详情,请查阅 Working with Large, Hierarchical Data Sets

配置 CSV 文件数据源

若要配置 CSV 文件数据源: 

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 在 File Path 字段中指定 CSV 文件的路径。可以使用以下变量:

    test_suite_loc:  相对于 .tst 或 .pva 文件的文件路径。例如:  ${test_suite_loc}/../files/myCSVFile.csv
    project_loc: 项目的相对路径。例如:${project_loc:MyProject}/myCSVFile.csv

    workspace_loc:SOAtest 工作空间的相对路径。例如:${workspace_loc}/../files/myCSVFile.csv


    还可以使用环境变量。 例如, ${project_loc:MyProject}/DataSource/${soa_env:CVS_DIR}/my_csv_file.csv。请查阅 Using Environment Variables in Tests

  4. 指定文件使用的分隔符和引号的类型。
  5. 如果需要,更改其他选项:
    • Trim leading/trailing whitespace - 指定是否删除值开始和结尾处出现的空白。
    • First row specifies column names - 指定是否考虑将 CSV 文件第一行作为列名。如果第一行指定列名,则表单 XML 中的元素将列名显示为每个值的名称。  如果第一行未指定列名,则表单 XML 中的元素将“value”显示为每个值的名称。
  6. 如果希望查看该数据源中列的列表,单击 Show Columns。第一行值被识别为列标题。如果希望使用不同的列标题,更新数据源的第一行,然后单击 Show Columns 按钮。

配置数据库数据源

必须指定连接到数据库的 JDBC 驱动器。 请查阅 配置 JDBC 驱动程序 以获得更多详情。 

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。可以启用 Range 按钮,并指定行的特定范围(索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。默认指定所有数据库行。
  3. 从下拉菜单中选择驱动器类,并配置数据库连接设置。有关配置常用数据库连接的更多详情,请查阅 配置 JDBC 驱动程序 。如果在下拉菜单中没有看见您的驱动类,请选择 Custom

单击 Show Columns 如果要检查使用了哪些列名

现有行若要使用不同的行标题,请更新数据库列名,然后单击 Show Columns 按钮。

如果希望使用不同行,请更新 SQL 查询以便它检索适当的列,然后单击 Show Columns 按钮。 

配置 Excel 表数据源

若要配置 Excel 表数据源: 

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 在 File Path 字段中指定 Excel 文件的路径。可以使用以下变量:

    test_suite_loc:  相对于 .tst 或 .pva 文件的文件路径。例如:  ${test_suite_loc}/../files/myspreadsheet.xls

    project_loc: 项目的相对路径。例如:${project_loc:MyProject}/myspreadsheet.xls 

    workspace_loc:SOAtest 工作空间的相对路径。例如:${workspace_loc}/../files/myspreadsheet.xls


    还可以使用环境变量。 例如, ${project_loc:MyProject}/DataSource/${soa_env:XLS_DIR}/myspreadsheet.xls。请查阅 Using Environment Variables in Tests

  4. 从 Sheet 菜单中选择要使用的特定 Excel 文件的工作表。
  5. 如果希望 SOAtest 将 Excel 数据源中每一列的大小限制为行数最少的列的大小(换句话说,如果希望在它遇到空格时停止处理数据),则启用 Stop processing the spreadsheet at the first empty row

重要项:SOAtest 假定第一行值代表行标题。如果不是这样的话,可能会使您在 SOAtest 中识别和选择数据源行时出现问题。如果希望 SOAtest 使用不同的列标题,请更新第一行数据源,然后单击 Show Columns 按钮。 

配置表数据源

若要通过输入或粘贴数据源值到内部表编辑器中来指定数据源值:

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 如果希望指定列名(而不是使用默认的 A、B、C、D 等等),请选择 First row specifies column names
  4. 通过键入或粘贴数据源值到表中来添加数据源值。可以复制像 Excel 这样的流行工作表。注意,表编辑器包括标准的复制、剪切、粘贴编辑命令(当选中单元格时),以及插入行或表的命令。若要添加更多的行,请使用向下箭头键或向下箭头滚动条按钮。若要添加更多的列,请使用向右箭头键或向右箭头滚动条按钮。
向表数据源中添加列,可以通过右键单击列标题,然后 从快捷菜单中选择 Insert columnInsert multiple columns。 

配置组合多个数据源的聚合数据源

可以创建聚合数据源。在该数据源中,您可以将其他可用数据源的值组合到单个数据源中。如果想执行需要绘制来自不同数据源的值的功能测试,这一点尤其有用。例如,在发送请求到服务器中,您可能希望发送包含用户信息(如姓和名)的数据源中的值,也可能希望发送包含用户登录和密码信息单个数据源中的值。  通过将两个数据源合并到一个聚合数据源中,您可以创建一个测试,而不必为每个数据源创建单独的测试。

关于聚合数据源如何与数据组之间进行比较的讨论,请查阅 了解数据组和聚合数据源 若要将多个数据源合并到一个聚合数据源中:

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 从  Available  框中选择所需数据源,然后单击 Add 按钮,将它们添加到 Selected 框中。
    • Available 框包含添加到测试套件的所有数据源。选择并将所需数据源添加到 Selected 框之后,已添加数据源中包含的列名在 Columns 框中显示。

配置允许在多个数据源之间切换的数据组数据源

数据组包含相似数据源的数量,该数据源至少有一列相同;它允许您选择在任何给定时间应用哪个数据组。如果要为同一工具动态指定不同的数据源,这一点尤其有用。运行时,在不需编辑工具或数据源的情况下,您便快速切换使用哪个数据源。若要使用数据组,需要将具有共享列的数据源分组在一起,然后指定应该让哪个数据源活跃。

有关数据组如何与聚合数据源进行比较的讨论,请查阅 了解数据组和聚合数据源。若要将多个数据源合并到一个数据组中:

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 从 Available 框中选择所需数据源,然后单击 Add 按钮,将它们添加到 Selected 框中。
    • Available 框包含添加到测试套件的所有数据源。
    • 如果数据源与当前选定数据源没有任何共同的列,则无法添加。
    • 如果添加数据源将减少整个数据源中共享列的数量,则将显示一个警告。
    • 选择并将所需数据源添加到 Selected 框之后,所有选定数据源中出现的相同列都将在 Columns 框中显示。
  4. 在 Active Data Source 下指定要哪个数据源活跃。如果希望在运行时“动态”指定活跃数据源,可以使用 ${var_name} 符号的环境变量配置 Active Data Source,然后指定运行时所需环境(从命令行接口或 UI 中,请查阅 在不同的环境中配置测试 以获得更多详情)。

配置文件数据源

若要配置文件数据源:

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 指定从哪个文件或目录中导入文件。指定位置中可用的所有文件都将显示在表中。右键单击选项还有剪切、复制和粘贴值操作。
    • 若要删选文件数据源使用了哪些文件,请在 File Filter 字段中输入字符串。例如:
      • * = 任何字符串的通配符
      • *.*= 所有文件(默认)
      • *.txt = 所有文本文件
      • data* = 所有文件名以“data”开始的文件
      • data*.txt = 所有文件名以“data”开始的文本文件
      • *data* = 所有文件名包含字符串“data”的文件
  4. 如果希望文件数据源使用文件数据源时导入目录中的所有文件,请启用 Refresh Dynamically Based on Last Import 选项。  如果不启用该选项,则文件数据源将只使用文件数据源表中所列出的文件,即使导入目录中存在其他文件。为了确保 .tst 文件的可移植性,在以下情况中必须启用该选项:
    • 当 .tst 文件需要在多台机器上执行时。
    • 当 .tst 文件将在使用多个负载测试生成器机器的负载测试中使用时。

在运行时,每个文件的内容都用作数据源值。

配置可编写数据源

为了在后续测试中重复使用数据源,配置一个捕获运行时数据的可编写数据源:

  1. (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
  2. 使用 Rows 控件,以指明要使用行的范围。
    • 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
  3. 指定编写到数据源的首选编写模式。可以选择以下以下其中一项:
    • Set-Up test mode> Append:如果希望设置测试在以前编写的任何值之后附加新数据,选择该选项。这是默认的模式。只有设置测试才能以这种模式编写入数据源。
    • Standard test mode> Overwrite:如果希望标准测试(非设置测试)使用新数据重写以前编写的任何值,选择该选项。只有标准测试才能以这种模式编写入数据源。
    • Set-Up test mode> Append:如果希望标准测试(非设置测试)在以前编写的任何值之后附加新数据,选择该选项。只有标准测试才能以这种模式编写入数据源。如果启用该选项,还可以指定 Reset frequency 设置,它确定数据源将如何重置(如,清除)以前编写的任何数据。
      • Per iteration配置数据源,以每次它所在的测试套件开始遍历新数据源行时进行重置。
      • Per write access配置数据源,以在每个新编写访问(只适用于在单个编写访问中附加数据)之前进行重置。

        提示 - 生成用于填充消息元素的数据源模板

         在极少的情况下,使用 标准测试模式:Append 可以在测试套件执行中引入无限递归。  如果发生这种情况,则通过单击测试进程视图中红色的 Stop 按钮停止无限递归。然后,为了解决递归问题,可以通过更改测试套件以使用 Flat (lockstep) 多数据源迭代(在测试套件的 Execution Options> Test Execution> Advanced Options 区域中,请查阅 Test Execution 以获得更多详情) ,也可以通过移动测试,该测试将可编写数据源使用到将独立迭代的子测试套件中。

  4. 如果希望指定列名(而不是使用默认的 A、B、C、D 等等),请选择 First row specifies column names
  5. 为可写数据源设置填充(如,通过让一个数据库工具写入它)。
     



例如,填充可编写数据源的一个方法是:

  1. 将 SOAP 客户端工具作为设置测试添加到测试套件。有关设置的更多信息,请查阅 添加 Set-Up 和 Tear-Down 测试
  2. 将 XML 数据库工具作为输出添加到 SOAP 客户端设置测试。
  3. 运行 SOAP 客户端设置测试,以填充 XML 数据库。
  4. 向 XML 数据库 GUI 中的 Selected Element 列添加一个节点。
  5. 双击 XML 数据库 GUI 中 Data Source column name 列的条目行。将显示一个 Modify 对话框。
  6. 在 Modify 对话框中选择 Writable Data Source Column ,然后单击 OK.。现在,当运行设置测试时,将填充可编写数据源。每次运行父测试套件时,可编写数据源将会自动重置。

注意

可以通过右键单击并选择 Insert rows | columns向可编写数据源中添加行和列。

使用 Bean 向导配置数据源表单 Java Bean 字段

请查阅 Using Interpreted Data Sources

设置“一对多”数据源映射关系

还可以设置 SOAtest 使用一个数据源(例如,包含登录信息的全局数据源)的单行值,和使用另一个数据源的多行值,如下所示:

  1. 添加可编写数据源,然后按照 Configuring a Writable Data Source所描述配置它。可编写数据源允许 SOAtest 独立于其他数据源进行迭代。
  2. 如果数据源中存在多个“global”参数,则右键单击单个可编写数据源列并选择 Insert Columns。将列重命名为与原始数据源列匹配的内容。
  3. 添加扩展工具作为设置测试(有关更多详情,请查阅 添加 Set-Up 和 Tear-Down 测试 )。这将充当到您的“全局”数据源的接口。
  4. 按照 用于自定义脚本的扩展工具中所描述配置此扩展工具。假定要访问的列名为数据源“Credentials”中的“username”和“password”,您将在工具配置面板中选择 Credential 数据源,并选择 Use data source, 然后添加以下代码:

    from soaptest.api import *
    def getCredentials(input, context):
    	username = context.getValue("Credentials", "username")
    	password = context.getValue("Credentials", "password")   
    	return SOAPUtil.getXMLFromString( [ username, password ] )
  5. 通过右键单击 Extension 工具,并选择 Add Output, 然后选择 XML Data Bank 工具选项将 XML 数据库链接到扩展工具输出。
  6. 运行测试一次,以填充 XML 数据库。
  7. 双击 XML 数据库工具,打开配置面板。
  8. 选择与第一参数相对应的元素,然后单击 Add。
  9. 单击 Modify 然后选择 Data Source column name。
  10. 选择 Writable Data Source Column ,然后选择相对应的名称。
  11. 对与第二个参数相对应的元素重复步骤 8-10。



  • No labels