可以在多个级别上添加数据源:
- 测试
- 项目
全局
数据源级别越高,共享的范围就越广。例如,如果希望添加一个数据源,它只适用于特定测试、响应程序或操作套件,则在套件级别添加它。如果希望将它在一个项目的所有套件中共享,则在项目级别添加它。如果希望将它在多个项目中共享,则在全局级别添加它。
全局和项目级别的数据源可以重复使用,并且在单个项目文件之外共享。它们保存在属性文件中,该属性文件可以检入/检出源代码控制(如果使用源代码控制),以便共享。全局数据源保存在单个属性文件中,可以在首选项面板(在 Preferences> Parasoft> Global Data Sources下)中进行定义。项目级别数据源保存在 Eclipse 项目目录下的 .parasoft 文件中。如果正在进行负载测试,请注意,负载测试工具当前不支持全局数据源。引用全局数据源的测试套件可以通过复制粘贴全局数据源到 SOAtest 项目的跟测试套件中来进行弥补。若要添加数据源
- 进行下列其中一项操作:
- 针对套件级别数据源,请选择所需的套件节点,然后单击 Add Database 工具栏按钮。
- 针对项目级别数据源,右键单击相关项目的 Test Case Explorer 或 Virtual Asset Explorer 节点,然后选择 Add New> Data Source。
- 针对全局级别数据源,右键单击 Global Data Sources 节点,然后选择 Add New> Data Source。
- 针对套件级别数据源,请选择所需的套件节点,然后单击 Add Database 工具栏按钮。
- 选择数据源类型,然后单击 Finish。有关 Bean 向导,请单击 Next 。一旦数据源完成添加,则将打开它的配置面板,并在合适的 Data Sources 分支中表现。将为每个可用的数据源添加一个节点。
- 按照下面所描述,配置该数据源:
配置资源库数据源
Parasoft 的数据资源库旨在帮助团队定义、扩展并审查大型和/或层次数据集,以便在 Parasoft 消息传递工具中使用。关于配置资源库数据源的更多详情,请查阅 Working with Large, Hierarchical Data Sets。
配置 CSV 文件数据源
若要配置 CSV 文件数据源:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
在 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。- 指定文件使用的分隔符和引号的类型。
- 如果需要,更改其他选项:
- Trim leading/trailing whitespace - 指定是否删除值开始和结尾处出现的空白。
- First row specifies column names - 指定是否考虑将 CSV 文件第一行作为列名。如果第一行指定列名,则表单 XML 中的元素将列名显示为每个值的名称。 如果第一行未指定列名,则表单 XML 中的元素将“value”显示为每个值的名称。
- 如果希望查看该数据源中列的列表,单击 Show Columns。第一行值被识别为列标题。如果希望使用不同的列标题,更新数据源的第一行,然后单击 Show Columns 按钮。
配置数据库数据源
必须指定连接到数据库的 JDBC 驱动器。 请查阅 配置 JDBC 驱动程序 以获得更多详情。
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。可以启用 Range 按钮,并指定行的特定范围(索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。默认指定所有数据库行。
- 从下拉菜单中选择驱动器类,并配置数据库连接设置。有关配置常用数据库连接的更多详情,请查阅 配置 JDBC 驱动程序 。如果在下拉菜单中没有看见您的驱动类,请选择 Custom 。
单击 Show Columns 如果要检查使用了哪些列名。
现有行若要使用不同的行标题,请更新数据库列名,然后单击 Show Columns 按钮。
如果希望使用不同行,请更新 SQL 查询以便它检索适当的列,然后单击 Show Columns 按钮。
配置 Excel 表数据源
若要配置 Excel 表数据源:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
在 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。- 从 Sheet 菜单中选择要使用的特定 Excel 文件的工作表。
- 如果希望 SOAtest 将 Excel 数据源中每一列的大小限制为行数最少的列的大小(换句话说,如果希望在它遇到空格时停止处理数据),则启用 Stop processing the spreadsheet at the first empty row。
重要项:SOAtest 假定第一行值代表行标题。如果不是这样的话,可能会使您在 SOAtest 中识别和选择数据源行时出现问题。如果希望 SOAtest 使用不同的列标题,请更新第一行数据源,然后单击 Show Columns 按钮。
配置表数据源
若要通过输入或粘贴数据源值到内部表编辑器中来指定数据源值:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
- 如果希望指定列名(而不是使用默认的 A、B、C、D 等等),请选择 First row specifies column names。
- 通过键入或粘贴数据源值到表中来添加数据源值。可以复制像 Excel 这样的流行工作表。注意,表编辑器包括标准的复制、剪切、粘贴编辑命令(当选中单元格时),以及插入行或表的命令。若要添加更多的行,请使用向下箭头键或向下箭头滚动条按钮。若要添加更多的列,请使用向右箭头键或向右箭头滚动条按钮。
配置组合多个数据源的聚合数据源
可以创建聚合数据源。在该数据源中,您可以将其他可用数据源的值组合到单个数据源中。如果想执行需要绘制来自不同数据源的值的功能测试,这一点尤其有用。例如,在发送请求到服务器中,您可能希望发送包含用户信息(如姓和名)的数据源中的值,也可能希望发送包含用户登录和密码信息单个数据源中的值。 通过将两个数据源合并到一个聚合数据源中,您可以创建一个测试,而不必为每个数据源创建单独的测试。
关于聚合数据源如何与数据组之间进行比较的讨论,请查阅 了解数据组和聚合数据源。 若要将多个数据源合并到一个聚合数据源中:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
- 从 Available 框中选择所需数据源,然后单击 Add 按钮,将它们添加到 Selected 框中。
- Available 框包含添加到测试套件的所有数据源。选择并将所需数据源添加到 Selected 框之后,已添加数据源中包含的列名在 Columns 框中显示。
配置允许在多个数据源之间切换的数据组数据源
数据组包含相似数据源的数量,该数据源至少有一列相同;它允许您选择在任何给定时间应用哪个数据组。如果要为同一工具动态指定不同的数据源,这一点尤其有用。运行时,在不需编辑工具或数据源的情况下,您便快速切换使用哪个数据源。若要使用数据组,需要将具有共享列的数据源分组在一起,然后指定应该让哪个数据源活跃。
有关数据组如何与聚合数据源进行比较的讨论,请查阅 了解数据组和聚合数据源。若要将多个数据源合并到一个数据组中:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
- 从 Available 框中选择所需数据源,然后单击 Add 按钮,将它们添加到 Selected 框中。
- Available 框包含添加到测试套件的所有数据源。
- 如果数据源与当前选定数据源没有任何共同的列,则无法添加。
- 如果添加数据源将减少整个数据源中共享列的数量,则将显示一个警告。
- 选择并将所需数据源添加到 Selected 框之后,所有选定数据源中出现的相同列都将在 Columns 框中显示。
在 Active Data Source 下指定要哪个数据源活跃。如果希望在运行时“动态”指定活跃数据源,可以使用
${var_name}
符号的环境变量配置 Active Data Source,然后指定运行时所需环境(从命令行接口或 UI 中,请查阅 在不同的环境中配置测试 以获得更多详情)。
配置文件数据源
若要配置文件数据源:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
- 指定从哪个文件或目录中导入文件。指定位置中可用的所有文件都将显示在表中。右键单击选项还有剪切、复制和粘贴值操作。
- 若要删选文件数据源使用了哪些文件,请在 File Filter 字段中输入字符串。例如:
- * = 任何字符串的通配符
- *.*= 所有文件(默认)
- *.txt = 所有文本文件
- data* = 所有文件名以“data”开始的文件
- data*.txt = 所有文件名以“data”开始的文本文件
- *data* = 所有文件名包含字符串“data”的文件
- 若要删选文件数据源使用了哪些文件,请在 File Filter 字段中输入字符串。例如:
- 如果希望文件数据源使用文件数据源时导入目录中的所有文件,请启用 Refresh Dynamically Based on Last Import 选项。 如果不启用该选项,则文件数据源将只使用文件数据源表中所列出的文件,即使导入目录中存在其他文件。为了确保 .tst 文件的可移植性,在以下情况中必须启用该选项:
- 当 .tst 文件需要在多台机器上执行时。
- 当 .tst 文件将在使用多个负载测试生成器机器的负载测试中使用时。
在运行时,每个文件的内容都用作数据源值。
配置可编写数据源
为了在后续测试中重复使用数据源,配置一个捕获运行时数据的可编写数据源:
- (可选项)在 Data Source 配置选项的 Name 字段中更改数据源标签。
- 使用 Rows 控件,以指明要使用行的范围。
- 如果只希望使用所选定行,请单击 Range 按钮,然后通过将值键入到 From 和 To 字段,输入所需范围(假定索引以一开始)。例如,若只使用前 10 行,在 From 字段输入 1, To 字段输入 10。若只使用第五行,在 From 字段输入 5, To 字段输入 5。
- 指定编写到数据源的首选编写模式。可以选择以下以下其中一项:
- Set-Up test mode> Append:如果希望设置测试在以前编写的任何值之后附加新数据,选择该选项。这是默认的模式。只有设置测试才能以这种模式编写入数据源。
- Standard test mode> Overwrite:如果希望标准测试(非设置测试)使用新数据重写以前编写的任何值,选择该选项。只有标准测试才能以这种模式编写入数据源。
- Set-Up test mode> Append:如果希望标准测试(非设置测试)在以前编写的任何值之后附加新数据,选择该选项。只有标准测试才能以这种模式编写入数据源。如果启用该选项,还可以指定 Reset frequency 设置,它确定数据源将如何重置(如,清除)以前编写的任何数据。
- Per iteration:配置数据源,以每次它所在的测试套件开始遍历新数据源行时进行重置。
Per write access:配置数据源,以在每个新编写访问(只适用于在单个编写访问中附加数据)之前进行重置。
- 如果希望指定列名(而不是使用默认的 A、B、C、D 等等),请选择 First row specifies column names。
- 为可写数据源设置填充(如,通过让一个数据库工具写入它)。
例如,填充可编写数据源的一个方法是:
- 将 SOAP 客户端工具作为设置测试添加到测试套件。有关设置的更多信息,请查阅 添加 Set-Up 和 Tear-Down 测试。
- 将 XML 数据库工具作为输出添加到 SOAP 客户端设置测试。
- 运行 SOAP 客户端设置测试,以填充 XML 数据库。
- 向 XML 数据库 GUI 中的 Selected Element 列添加一个节点。
- 双击 XML 数据库 GUI 中 Data Source column name 列的条目行。将显示一个 Modify 对话框。
- 在 Modify 对话框中选择 Writable Data Source Column ,然后单击 OK.。现在,当运行设置测试时,将填充可编写数据源。每次运行父测试套件时,可编写数据源将会自动重置。
注意
使用 Bean 向导配置数据源表单 Java Bean 字段
请查阅 Using Interpreted Data Sources。
设置“一对多”数据源映射关系
还可以设置 SOAtest 使用一个数据源(例如,包含登录信息的全局数据源)的单行值,和使用另一个数据源的多行值,如下所示:
- 添加可编写数据源,然后按照 Configuring a Writable Data Source所描述配置它。可编写数据源允许 SOAtest 独立于其他数据源进行迭代。
- 如果数据源中存在多个“global”参数,则右键单击单个可编写数据源列并选择 Insert Columns。将列重命名为与原始数据源列匹配的内容。
- 添加扩展工具作为设置测试(有关更多详情,请查阅 添加 Set-Up 和 Tear-Down 测试 )。这将充当到您的“全局”数据源的接口。
按照 用于自定义脚本的扩展工具中所描述配置此扩展工具。假定要访问的列名为数据源“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 ] )
- 通过右键单击 Extension 工具,并选择 Add Output, 然后选择 XML Data Bank 工具选项将 XML 数据库链接到扩展工具输出。
- 运行测试一次,以填充 XML 数据库。
- 双击 XML 数据库工具,打开配置面板。
- 选择与第一参数相对应的元素,然后单击 Add。
- 单击 Modify 然后选择 Data Source column name。
- 选择 Writable Data Source Column ,然后选择相对应的名称。
- 对与第二个参数相对应的元素重复步骤 8-10。