...
XML 数据库工具允许提取某些 XML 值(比如,从请求或响应消息中),以便在其他地方使用。XML 数据库工具可以链接到任何其他输出 XML 的工具。它可以提取 XML 中的任何信息,并使这些信息可供以后使用。
例如,可以配置测试银行 Web 服务交易的测试套件。该测试套件的测试 1 可以使用用户 ID 登录到服务中,然后 SOAP 响应将向测试 1 返回一个会话 ID。可以将该测试套件的测试 2 配置为使用测试 1 的会话 ID,以执行交易。可以在测试套件中配置任何测试,以使用 SOAP 响应参数作为 SOAP 请求参数。
...
比如,还可以从 Virtualize 中的传入请求中提取一个值,并使用它填充在接收请求时要发送的响应元素。使用向导从流量创建虚拟资产时,可以手动配置 XML 数据库。此外,可以使用“Use Data Source Wizard”来提取值并使用它作为响应中的参数化值。对于消息响应程序,可以从传入请求(主体或数据头)中提取值;对于其他工具(比如操作套件中使用的工具),可以从套件中的其他工具提取值。另一个选项则是手动添加一个提取所需数据的 XML 数据库工具(作为到现有工具的输出),然后配置其他工具来使用提取到的值。
Scroll pdf ignore | ||||
---|---|---|---|---|
视频教程在本视频中,你将了解到如何从 在本视频中,您将了解到如何从 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,然后根据需求修改它。有关更多详情,请查阅 Options for Each Extracted Element 。
- 根据需求重复步骤 a 和 b,以配置要执行的任何其他提取物。
- 在 XML 数据库配置面板底部区域,根据需求自定义选项。有关更多详情,请查阅 Tool-Wide Extraction Options 。
...
Custom column name: 指定存储值的数据源列名。除非指定了其他位置(比如,如果选择 Writable data source column 或 Variable),否则值存储在内部数据源中。这是你将在其他地方引用该值时使用的名称。例如,如果该值存储在名为 ),否则值存储在内部数据源中。这是您将在其他地方引用该值时使用的名称。例如,如果该值存储在名为 My Value的数据源列中,则应选择 My Value 作为参数化值。也可以引用其作为文字视图或多响应视图中的
${My Value}
。Writable data source column:启用此选项,将值保存到可写数据源列中。 (请查阅 Configuring a Writable Data Source 以获得更多详情)。这允许存储数组形式的值。然后其他工具可以遍历存储值。
Write to all columns that match: 启用此选项,将值保存到所有列名中包含给定字符串的列中。当提取消息中的多个值时,每个值都将跨匹配的所有列写入。相反,如果选择一个可写数据源列(上面的选项),那么值将跨多行写入列。 启用此选项,将值保存到所有列名中包含给定字符串的列中。当提取消息中的多个值时,每个值将写入所有匹配的列。相反,如果选择一个可写数据源列(上面的选项),那么值将跨多行写入列。
Variable: 启用此选项,将值保存在特定值中,以便它可以在跨当前 Responder, Action, or test suite中重复使用。变量必须已经被添加到当前套件中,如 Defining Variables in SOAtest 或 Defining Variables in Virtualize。 以这种方式设置的任何值都将覆盖 Responder, Action, or test suite 属性面板中指定的任何局部变量值。
...
默认情况下,将不会提取空的和缺失的元素。 这可能会影响可写数据源中使用的 XML 响应的完整性。
例如,假设你有以下 例如,假设您有以下 XML:
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <root> <e>5</e> <e/> <e>6</e> </root> |
还假设你希望为所有‘e’元素创建提取物。 还假设您希望为所有‘e’元素创建提取物。 为此,选择第一个元素,然后单击 Extract Element。
接下来,选择新的提取物,然后单击 Modify。
...