本主题说明如何配置和应用 XML 排序工具,该工具可递归地或根据选定的排序目标和排序关键节点对 XML 进行排序。
本章包含:
了解 XML 排序
许多服务在每次调用服务时都以不同的顺序返回结果列表。元素的这种随机顺序使得在测试用例中定义验证变得很有挑战性。XML 排序工具就是为了解决这个问题而设计的。例如,它可以用于获取 Parasoft 书店服务返回的图书条目,按价格重新排序,并对每个图书条目下的作者列表按字典顺序进行排序。XML 排序工具可以链接到其他 XML 工具的输出,例如 SOAP 客户机的 SOAP 响应。添加工具并定义所需的排序之后,它将输出根据指定配置排序的 XML 内容。然后可以使用 XML 断言器、差异或其他验证工具对排序后的内容进行验证。
Recursive XML sort
选项将递归地对所有节点排序(例如,在扩散之前删除排序)。首先,它根据类型对节点进行排序:首先是文本节点,然后是处理指令,最后是元素。元素属性首先按名称排序,然后按值排序。元素首先按元素名排序,然后按属性名/值排序,然后按文本内容排序,最后按使用相同标准的子节点排序。文本节点彼此之间的顺序不变。 处理指令按其目标和数据值排序。
Custom XML sort
允许你在此工具中定义一个或多个排序指令。如果定义了多个排序指令,那么 XML 文档将首先根据第一条指令进行排序,然后再根据第二条指令进行排序,依此类推。每条排序指令的目的是对一组标记为“排序目标”的元素进行排序,这些目标元素使用该指令中定义的排序关键条件进行排序。
配置 XML 排序
若要配置 XML 排序工具:
-
请添加一个 XML 排序工具作为另一个工具(如 SOAP 客户机或消息传递客户机)的输出。为了简化配置过程,建议你:
-
首先调用其他工具,以便可以在流量查看器中捕获流量;响应消息将帮助你稍后配置排序(基于从服务返回的示例消息)-或-
-
如果你不能运行它,那么尝试使用 WSDL、模式或请求消息(如果可能的话)配置客户机。
-
指定要使用的排序模式。
-
若要递归地对所有节点排序,请选择
Recursive XML sort
。在这种情况下,不需要额外的配置。
-
若要定义一个或多个排序指令,请选择
Custom XML sort
,然后继续执行以下步骤。
-
单击 XML 排序工具编辑器中的
Add
。将启动一个向导来帮助你定义需要排序的元素列表。配置之后,当根据 XML 排序工具的 XML 输入进行计算时,目标 Xpath 字段应该返回一个节点列表。这是将被排序的节点列表。
-
在向导的第一个页面中,单击
Modify
,然后执行以下其中一个操作:
-
在向导中单击
Next
,然后定义目标元素应该如何排序(即指定应该用作排序键的目标元素下的节点)。注意:
-
单击
Finish
完成向导。