...
Table of Contents | ||
---|---|---|
|
了解 XML 数据库
XML 数据库工具允许提取某些 XML 值(比如,从请求或响应消息中),以便在其他地方使用。XML 数据库工具可以链接到任何其他输出 XML 的工具。它可以提取 XML 中的任何信息,并使这些信息可供以后使用。
...
比如,还可以从 Virtualize 中的传入请求中提取一个值,并使用它填充在接收请求时要发送的响应元素。使用向导从通讯报文创建虚拟资产时,可以手动配置 XML 数据库。此外,可以使用“Use Data Source Wizard”来提取值并使用它作为响应中的参数化值。对于消息响应程序,可以从传入请求(主体或数据头)中提取值;对于其他工具(比如操作套件中使用的工具),可以从套件中的其他工具提取值。另一个选项则是手动添加一个提取所需数据的 XML 数据库工具(作为到现有工具的输出),然后配置其他工具来使用提取到的值。
Scroll pdf ignore | ||||
---|---|---|---|---|
视频教程在本视频中,您将了解到如何从 XML 响应中提取值,并在其他测试中重复使用它们。
|
...
使用数据源向导配置 XML 数据库
Anchor | ||||
---|---|---|---|---|
|
配置提取信息
若要使用“Use Data Source Wizard”向导来配置一个 XML 数据库:
...
选择要从其提取值的工具(适用于操作套件工具)。面板顶部的下拉菜单将包含正在配置的当前工具之前发生的测试或响应程序套件中的所有工具。例如,如果正在配置工具 4,则工具 1,2 和 3 将在此菜单中显示,以及任何可用的数据源。
对于消息响应程序,选择要从中提取值的传入请求消息,然后指定是否要从消息主体或消息数据头中提取值。
- 使用面板左侧的控件,指示提取信息并将其添加到面板右侧。后侧面板列出了为提取信息配置的值,并显示了将存储这些值的数据源列的名称(如果保留默认设置)。
- (可选项)如果希望指定额外选项(比如,如果希望更改用来存储值的列名,则希望值保存到可写数据源汇总,或者希望值存储到现有变量),或者,如果希望修改高级 Xpath 设置,则选择右侧表中合适的元素并单击 Modify。接下来,根据需求配置选项,然后单击 OK。可用选项如 XML 数据库 Options for Each Extracted Element中所述。
手动配置 XML 数据库
也可以手动将 XML 数据库工具链接到 Responder, Action, 或 test suite内的工具。若要配置 XML 数据库作为链接工具,请完成以下内容:
(不适用于消息响应程序) 确保有一个包含至少两个工具的操作集或测试套件。
右键单击与要提取的数据相关联的工具节点。(比如,如果要从传入请求或输出响应中提取值,则选择处理这些消息的消息响应程序),然后选择 Add Output。
在 Add Output 向导中,这表明要从哪里提取值(比如,SOAP Envelope、传入请求、传输数据头、传入附件、输出响应等),然后点击 Finish 按钮。将在工具下方显示 XML Data Bank 节点。
- 配置工具,如下所示:
使用可用控件指定表示要提取什么值的 XPath。若要添加一个 XPath,请从 Expected Message 列表中选择一个值,然后单击 Extract Element 按钮。添加的值将显示在 Selected Element 列表,该列表有一个列名为 Data Source,其中包含值所来自的工具的名称和提取到的值。
Info title 使用预期消息 左侧面板显示了用于创建模板的预期 XML 响应,您可以从中选择元素。如果此工具接收一个有效的 XML 消息(比如,该消息来自通讯报文或者由附加的客户机工具所定义),则此面板将自动被填充。作为一种选择,可以将示例消息复制到 Literal 或 Tree 选项卡中。注意,默认情况下不会保存预期 XML;如果要对它进行保存,请启用 Save Expected XML 选项。如果希望进一步配置 Xpath 或自定义该元素的提取设置,则单击 Modify,然后根据需求修改它。有关更多详情,请查阅 XML 数据库 Options for Each Extracted Element 。
- 根据需求重复步骤 a 和 b,以配置要执行的任何其他提取信息。
- 在 XML 数据库配置面板底部区域,根据需求自定义选项。有关更多详情,请查阅 XML 数据库 Tool-Wide Extraction Options 。
使用提取值
添加和/或修改提取信息之后,配置要使用提取值的工具。
将值设置为“参数化”,并从下拉菜单中选择合适项。例如, 如将值保存到 "title” 数据源列,则将按如下方式选择它。
配置选项
可以在配置 XML 数据库时配置以下选项:
Anchor | ||||
---|---|---|---|---|
|
以下选项可以通过修改 XML 数据库配置面板右侧面板中列出的选择项进行设置。
...
对于数据头,可以配置数据头名称和上述列出的数据源列选项。
Anchor | ||||
---|---|---|---|---|
|
以下选项可以在 XML 数据库工具配置面板的较低部分进行设置。
- Save expected XML: 指定是否保存预期 XML。
- Canonicalize XML output: 指定提取的元素是否规范化。如果选中此选项,或者如果提取了整个元素,则如果提取的元素包含引用未在同一元素中声明的命名空间的前缀,将向该元素添加任何必要的命名空间声明。
- Allow alteration: 指定是否允许更改 XPath。当选择此选项时,将在 Selected Element 列表下显示 Extract 选项卡和 Alter 选项卡。若要更改 XPath,请选择 Allow alteration 多选框,选择 Alter 选项卡,通过单击 Extract Element 按钮添加 XPath,然后通过单击 Modify 按钮修改 XPath。 Modify 对话框将显示并包含以下选项:
- XPath: 显示所选定的 XPath。若要编辑和验证一个所选定的 Xpath,请编辑 Xpath 文本,单击 Evaluate Xpath 按钮来验证 Xpath 格式,然后单击 OK。
- Alteration Type: 允许指定输入的 Value 如何更改提取信息。选择 Append 将添加更改的值到提取信息末尾。选择 Append 将添加更改的值到提取信息起始端。选择 Replace With 将把整个提取信息替换为指定的更改值。
- Alteration Value: 允许使用数据源指定固定值或者参数化值。
- Extract empty elements as: 指定是否提取空的 XML 元素。启用此选项后,可以使用相邻的文本字段来指定一个文本字符串,此字符串指示应该为每个空的提取元素添加什么样的“占位符”值。
- 此选项在 Xpath 定位节点,但该节点没有文本内容时应用。例如,如果有一个 <parent><child/></parent>,在 XPath //*[local-name()="child"]/text() 上发现子元素,但却没有文本内容。
- 注意,如果使用此选项则要求额外的配置;请查阅 Handling Empty/Missing Elements to Maintain the Integrity of the XML Response。
- Extract missing elements as: 指定是否提取缺失的 XML 元素。启用此选项后,可以使用相邻的文本字段来指定一个文本字符串,此字符串指示应该为每个空的提取元素添加什么样的“占位符”值。
- 此选项在 Xpath 没有定位到任何匹配的节点时应用。例如,如果给定的简单 xml 文档如下所示:<parent><child>name</child></parent>,在 XPath //*[local-name()="sibling"] 发现 0 个节点。
- 注意,如果使用此选项则要求额外的配置;请查阅 Handling Empty/Missing Elements to Maintain the Integrity of the XML Response。
查看测试执行期间使用的数据库变量
可以配置控制台视图 (Window> Show View> Console),显示测试执行期间使用的数据库变量。关于更多详情信息,请查阅 Monitoring Variable Usage。
参数化 XPaths
可以参数化 Xpaths 以引用响应程序套件或测试变量、环境变量和数据源值。引用变量的语法为 ${myVariableName}。引用 XML 数据库值和数据源值的语法为:${myColumnName}.
...
namespace-uri(.)=""][child::node()[local-name(.)="title" and text()="${XPath Key}"]]
Anchor | ||||
---|---|---|---|---|
|
默认情况下,将不会提取空的和缺失的元素。 这可能会影响可写数据源中使用的 XML 响应的完整性。
...
ROW 1 = 5
ROW 2 =
ROW 3 = 6
相关教程
以下教程演示如何使用这个工具: