在本章节中:
前言
填充资源库最常见的方法是使用 Generate Parameterized Messages 向导,在创建 测试套件、,还可以使用数据存储库工具构造和填充具有 Excel、WSDL 或模式文件的数据存储库。数据存储库工具指定要导入什么数据、如何构造数据,以及导入的数据应该包含什么存储库数据源。
准备从 Excel 导入
要成功从 Excel 文件导入数据,还需要进行其他准备工作。
定义结构
为了使数据存储库工具能够识别数据记录类型层次结构,至少要有一个具有以 <child_sheet_name> dsref*
标记的列的工作表, 该列将工作表中的行建立为父节点。这个 <child_
sheet_name>
值应指包含子数据行的工作表的名称。子工作表(引用 <child_sheet_name>
的工作表)应包含一个标题标记为 ParentIndex
的列。此列中的单元格是与父工作表中的行相对应的数值。请查阅 Example。
工作表中的 dsref* 和 ParentIndex 列对应于数据存储库工具配置中的 Join Column 和 Parent Join Column 字段(请参阅 Configuring Nodes)。
示例
在以下示例中,Categories 工作表包含一个 dsref* 列,该列引用了 Lessons 工作表,指示 Lessonse 中的数据行是类别中的行的子级:
A | B | |
---|---|---|
1 | 类别 | Lessons dsref* |
2 | 测试自动化 | |
3 | 服务虚拟化 | |
4 | 环境管理 | |
5 | 静态分析 | |
6 | 单元测试 | |
类别 |
Lessons 表包含一个 ParentIndex 列,其值对应于 Categories 表中的行。数据存储库工具会忽略列标题行,因此枚举从 Categories 表中的第 2 行开始:
A | B | C | D | |
---|---|---|---|---|
1 | ID | Lesson | Schedule | ParentIndex |
2 | AT-1 | 自动化测试入门 | Mondays | 1 |
3 | AT-2 | 中级自动化测试 | Wednesdays | 1 |
4 | AT-3 | 高级自动化测试 | Fridays | 1 |
5 | SV-1 | 服务虚拟化入门 | Mondays | 2 |
6 | SV-2 | 中级服务虚拟化 | Wednesdays | 2 |
7 | SV-3 | 高级服务虚拟化 | Fridays | 2 |
8 | EM-1 | 环境管理入门 | Mondays | 3 |
9 | EM-2 | 中级环境管理 | Wednesdays | 3 |
10 | EM-3 | 高级环境管理 | Fridays | 3 |
11 | SA-1 | 静态分析入门 | Mondays | 4 |
12 | SA-2 | 中级静态分析技术 | Wednesdays | 4 |
13 | SA-3 | 高级静态分析技术 | Fridays | 4 |
14 | UT-1 | 单元测试入门 | Mondays | 5 |
15 | UT-2 | 中级单元测试技术 | Wednesdays | 5 |
16 | UT-3 | 高级单元测试技术 | Fridays | 5 |
Lessons |
当数据存储库工具处理此示例文件时,将应用以下结构:
- 测试自动化
- AT-1, 自动化测试入门, Mondays
- AT-2, 中级自动化测试, Wednesdays
- AT-3, 高级自动化测试, Fridays
- 服务虚拟化
- SV-1, 服务虚拟化入门, Mondays
- SV-2, 中级服务虚拟化, Wednesdays
- SV-3, 高级服务虚拟化, Fridays
- 环境管理
- EM-1, 环境管理化入门, Mondays
- EM-2, 中级环境管理, Wednesdays
- EM-3, 高级环境管理, Fridays
- 静态分析
- SA-1, 静态分析入门, Mondays
- SA-2, 中级静态分析, Wednesdays
- SA-3, 高级静态分析, Fridays
- 单元测试
- UT-1, 单元测试入门, Mondays
- UT-2, 中级单元测试, Wednesdays
- UT-3, 高级单元测试, Fridays
请查阅
有关 dsref* 和 ParentIndex 列的更多信息。
支持基本列表
您可以配置数据存储库工具 以使用 Field type 设置将列导入为基本列表、记录列表和数组(请参阅 Configuring the Data Repository Tool)。当满足以下条件时,这个 Field type 设置可用:
- 子工作表仅包含一列。
- 子工作表的名称与工作表中的第一列相同。
在以下示例中,当配置数据存储库工具以导入 Excel 文件时,Videos 节点将显示 Field type 选项:
在工具配置步骤中,可以为 Videos 节点选择字段类型:
空值和排除值
以下字符串是保留值,它们被解释为“null”(对于 XML 通讯报文,为“nil”):
- [parasoft_null]
- [null]
以下字符串是保留值,无论所生成的消息类型如何,该值都将从生成的消息中排除该值:
- [parasoft_exclude]
- [exclude]
添加数据资源库工具
- 请确保您将填充的数据资源库服务器正在运行。
创建一个新的 不带测试的.tst 文件的操作套件:提供不带操作套件的操作文件。请查阅 添加项目、.tst 文件和测试套件、
- 向这个套件添加一个新的存储库数据源。请查阅 创建资源库数据源。
打开数据源,指定导入数据的目标数据集。可以在资源库视图中浏览服务器上的现有资源库(请查阅 SOAtest 视图 )。如果指定资源库的名称或数据不存在,将在运行时创建一个。
右键单击 Test 节点,然后选择 Add New> Test。选择 Data Repository Tool。
单击 Next,然后配置数据以及结构初始化选项。请查阅 Configuring Initialization Options。
- 单击 Finish ,然后配置数据资源库工具。
如果您基于 Excel 文件初始化了数据和结构,则工作簿将作为 Excel 数据源导入,并且将根据数据配置工具。查看工具配置,然后在运行工具前根据需求修改设置(请查阅 配置数据资源库工具)。
配置初始化选项
可以在创建数据资源库工具时配置以下初始化设置。该屏幕中的设置决定了初始化导入数据结构的方法。
初始化数据表 |
|
---|---|
初始化结构表 |
指定 WSDL 和 schema 后,指定定义文件,然后从 Type 菜单中选择数据类型定义。 |
Join column | 如果从 Excel 文件中初始化值,请在 Join column 字段中指定整个 Excel 表的关系的列名称。默认情况下,Join column 是 ParentIndex 列,但是也可以指向包含引入父行值的其他列。有关其他信息,请参见 定义结构 。 |
配置数据资源库工具
验证目标资源库是否被设置为刚创建的资源库数据源(请查阅 Adding the Data Repository Tool)。
数据处理选项
在 Tool Settings > Options 中,启用处理数据的模式:
- Append: 将记录附加到现有数据集中。现有记录将不会更改。
- Overwrite: 如果在覆盖模式下检测到匹配记录,将替换它们。
- Delete: 删除匹配的记录。
配置数据结构
如果在没有初始化数据或结构的前提下创建了数据资源库工具,则面板中将显示一个默认的新节点。
单击节点,访问其配置选项(请查阅 Configuring Nodes)。
如果工具创建期间从 Excel 中初始化结构,则该结构将已被应用。可以在面板中选择节点,然后根据需求配置面板(请查阅 Configuring Nodes)。
可以单击 Import Data 面板中的 Add... 和 Remove , 手动向数据树中添加节点。还可以右键单击现有节点,删除节点或添加子节点。
配置节点
数据树中的每个节点表示要导入的源数据的一部分。如果根据屏幕中其中一个初始选项初始化数据(Configuring Initialization Options),则将自动配置该部分。但在运行工具前,您可以根据需求修改以下设置。
可用设置取决于节点之间的关系:
Name | 指定节点的名称。 |
---|---|
Data Source | 指定用于初始化数据的 Excel 工作簿(请参阅 Configuring Initialization Options)。如果启用 None 选项,则此字段将为空,并且需要使用数据源编辑器手动添加数据( 查看和修改资源库结构和内容)。 |
Sheet Name | 当从 Excel 中导入时指定工作表名称。 |
Join column | 指定指示整个 Excel 表关系的列名称。默认情况下,使用 ParentIndex 列(请查阅 Defining the Structure)。 如果记录的 Join 列中的值与 Parent Join Column 记录中的值匹配,则该记录将成为父记录的子记录。 此设置不适用于列级别的节点。 不能为树根上的工作表级节点配置此设置。 |
Parent Join Column | 指定指示整个 Excel 表关系的父节点名称。默认情况下,值设置为 <Row Number>,表示指向父行列的数字。 如果记录的 Join 列中的值与 Parent Join Column 记录中的值匹配,则该记录将成为父记录的子记录。 此设置不适用于列级别的节点。 不能为树根上的工作表级节点配置此设置。 |
Data Column | 指定包含数据的列名称。 |
Field Type | 指定数据应该作为哪种类型导入。可以指定以下类型之一:
有关类型的更多信息,请查阅 查看和修改资源库结构和内容 。 |
运行工具
选择数据资源库工具,然后单击工具栏中的 Run 。
有关导入的详细信息将在控制台视图中报告。导入中的任何问题都将在进度视图中报告。例如,如果试图将数据导入当前未运行的存储库服务器,可能会出现以下消息。