若要向 SOAP 客户端和 REST 客户端工具快速添加差异比较,可以直接在 CTP 界面创建 Diff 工具。Difff 工具将编辑器中的数据与指定的回归控件进行比较,并在发现差异时报告失败。差异工具可用于 JSON、XML、文本或二进制文件。
CTP 中添加的任何 Diff 工具都将附加到所选测试的响应上。
此外,您可以使用 SOAtest 桌面对添加到响应流量的 Diff 工具进行编辑。使用 SOAtest 桌面对添加到请求流量的任何 Diff 工具在 CTP 都将不可见。二进制 Diff 工具可以在 CTP 中编辑,但不能添加。
如果要检查消息的所有部分或大部分是否匹配回归控件,请使用 Diff 工具。如果要检查消息的特定元素,并且/或者想验证除匹配之外的其他内容,请使用 Assertor 工具。 |
若要添加新的 Diff 工具:
新工具将作为输出“链接”到所选测试客户端工具的响应。数据头 Diff 工具链接到响应头。所有其他 Diff 工具链接到响应体消息。
若要配置 Diff工具:
请在回归控制区域中,指定“控制”值(它将与之比较所有后续结果的值)。根据所选的 Diff 类型,您可以访问文字文本编辑器、JSON 编辑器和/或 XML 编辑器(请查阅 编辑 JSON 消息 和 编辑 XML 消息 以获得更多详情和技巧)。
如果 CTP 可以访问与当前回归控件不同的新流量,则可以单击 Update Regression Control 按钮以将新流量复制到回归控制中。 |
选项 | 说明 |
---|---|
Diff engine | 指定使用的差异引擎。默认为 XMLUnit;它支持大量的消息、生成大量差异的比较,以及忽略元素顺序变化的能力。在旧版本的 SOAtest 工具中创建的 Diff 工具可以配置为使用 VMTools 或 ExamXML MDCXML。 |
Ignore element order | 配置该工具以忽略每个处理过的文档的所有区域中的元素顺序。注意,如果更希望忽略文档特定部分的顺序,那么在将文档传递给 Diff 工具之前,请使用 SOAtest XML 排序工具对该部分进行排序。 |
SOAP mode | 如果选择了该选项,则启用以下操作:
|
Regular expression | 确定是否将预期值被解析为正则表达式。如果未选择该框,则控制值将不会被解析为正则表达式。如果选择了该框,则控制值将被解析为正则表达式。 例如,可以输入以下正则表达式: Java[a-zA-Z ]+\Q(\E[4-9]+th Edition\Q)\E 实际提取的字符串可能如下:如何使用 Java 编程(第四版) 正则表达式将解析上面的字符串,检查“Java”是否作为第一个子字符串出现,后面紧跟一个或多个匹配项(在开括号和闭括号后面用 + 运算符表示),而匹配项仅限于 a-z 和 A-Z 以及空格之间的字母。注意,通过添加 \Q 和 \E 来进行转义。之所以需要这样做,是因为开括号和闭括号可以是正则表达式的一部分,因此如果它们表示为子字符串,则需要转义它们。我们还有一个数字出现在第一个开括号后面,它由 [4-9]+ 表示。这指定介于 4 和 9 之间的数字至少出现一个匹配项,并后面紧跟着“th Edition”。最后,使用 \Q\E 转义闭括号。 |
Ignore whitespace | 确定是否忽略输入行和差异控件行中开始和结尾出现的空白行和空白字符。如果未选择该框,空白行和前导/后置空白将造成回归测试失败。如果选择了该框,将忽略空白行和前导/后置的空白字符。 下列任何一种都表示为空白字符表:水平制表、换行、换页、回车、空格。空白行是包含一个或多个空白字符的行。 |