本主题涵盖了 SOAtest 和 Virtualize 中的 XML 断言器工具。该工具强制 XML 消息中数据的正确性。
本章包含:
该工具通常连接到 SOAP 客户机或消息传递客户机,以便验证服务返回的数据。XML 断言器提供了对复杂消息验证需求的支持,而不需要脚本,并且允许您轻松地在 XML 消息上创建和维护验证断言。
在验证来自服务的结果时,您可能希望应用符合业务需求的特定规则。可能不足以验证是否发生了更改;您可能还想定义复杂的规则,定义可接受的 XML 消息的组成。
XML 断言器目的在于提供一系列断言,这些断言可以为消息有效性实施更符合逻辑和业务的规则。
这个工具通常是从 XML 消息的 Create/Update Regression Control 对话框中添加的(通过选择 Create Value Assertion 选项)。有关以这种形式添加 XML 断言器的更多详情,请查阅 对单个响应元素的值进行验证。
它还可通过 Add Output 向导添加,如 添加测试输出中所述。
XML 断言器由三个主要选项卡组成:
若要配置 XML 断言器:
选择要检查此断言的元素,然后单击 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 以引用测试或响应程序套件变量、环境变量和数据源值。 引用变量的语法为 ${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 响应中为值添加目标断言。 |
以下教程演示如何使用此工具: