本主题涵盖了 SOAtest 和 Virtualize 中的 XML 断言器工具。该工具强制 XML 消息中数据的正确性。 此工具需要验证许可证。
本章包含:

了解 XML 断言器

该工具通常连接到 SOAP 客户机或消息传递客户机,以便验证服务返回的数据。XML 断言器提供了对复杂消息验证需求的支持,而不需要脚本,并且允许您轻松地在 XML 消息上创建和维护验证断言。

在验证来自服务的结果时,您可能希望应用符合业务需求的特定规则。可能不足以验证是否发生了更改;您可能还想定义复杂的规则,定义可接受的 XML 消息的组成。

XML 断言器目的在于提供一系列断言,这些断言可以为消息有效性实施更符合逻辑和业务的规则。

这个工具通常是从 XML 消息的 Create/Update Regression Control 对话框中添加的(通过选择 Create Value Assertion 选项)。有关以这种形式添加 XML 断言器的更多详情,请查阅 对单个响应元素的值进行验证。 
 




它还可通过 Add Output 向导添加,如 添加测试输出中所述。

 

配置 XML 断言器

XML 断言器由三个主要选项卡组成:

若要配置 XML 断言器: 

  1. 单击 XML 断言器配置选项卡中的 Add 按钮。



     将显示 Select Assertion 向导。



  2. 选择一个断言类型。下面是对可用断言类型的简要总结。
  3. 单击 Next 按钮。将显示一个树视图。



  4. 选择要检查此断言的元素,然后单击 Finish 按钮。注意,您可以在 XML 断言器工具的 Expected XML 选项卡中编辑此树的结构。 

    关于详细信息,清查阅 区分大小写 。

您可以通过单击 Configuration 选项卡中的 Add 按钮,添加附加的断言来应用于消息(例如要对 price 元素强制执行的数字断言)。

如果稍后想修改断言引用的元素,请单击 Configuration 右下角的 Change Element 。这将打开一个对话框,允许您图形化或手动编辑给定的元素。您可以单击 Evaluate Xpath 按钮,查看对预期 XML 应用 Xpath 表达式的结果。

 

 注意,在将提取的字符串与预期文本进行比较之前, Trim content 选项将删除提取字符串的开始和结束部分的任何空格。例如,如果提取了“bar”(忽略所有示例中的引号;它们被用来显示空格),它会变成“bar”;如果没有启用 Trim content 选项,这将匹配“bar”(并且无法匹配“bar”)。

如果您有如下 XML

<foo>
bar
</foo>

如果“bar”值前后的新行字符无趣,而且主要是格式化问题,那么您可能希望启用此选项,这样在创建提取时就不必考虑 XML 的格式。

参数化 XPaths


可以参数化 Xpaths 以引用测试或响应程序套件变量、环境变量和数据源值。  引用变量的语法为 ${myVariableName}。引用 XML 数据库值和数据源值的语法为:${myColumnName}. 

例如,如果 ${XPath Key} 是数据源列名,则可以使用

/*[local-name(.)="bookstore" and namespace-uri(.)=""]/*[local-name(.)="book" 和

namespace-uri(.)=""][child::node()[local-name(.)="title" and text()="${XPath Key}"]]

视频教程

在本视频中,您将学习如何在 XML 响应中为值添加目标断言。

相关教程

以下教程演示如何使用此工具: