本主题介绍比较工具,它在 SOAtest 和 Virtualize 中将传入的数据和报告差异与保存的数据进行对比。
章节目录:
比较工具支持二进制、文本、XML 和 JSON,是当前最佳实践回归测试解决方案的支柱。比较工具将编辑器中的数据与从另一个工具输出中(或从指定的另一个输入中)接收到的数据进行比较,并在发现差异时报告失败。
比较项目配置面板划分为两个主要部分。上半部分包含常规选项。下半部分包含回归控制、忽略区别和选项选项卡,可以在其中配置选项用于比较文本、二进制、JSON 和 XML 格式的数据。
若要在测试套件中对所有用于比较回归控制的逻辑和数据源使用进行自定义:
|
和其他工具一样,如果向项目中添加源,则可以为该工具指定数据源。用于比较工具的数据源指定用于提供控制值的数据源。 有关数据源的更多详情,请参阅使用数据源、变量或来自其他测试的值对测试进行参数化。
从比较模式下拉菜单中选择二进制。查看二进制文件的差异。
此设置确定将什么数据源值、文件或文本用作“control”值(用于比较所有后续结果的值)。选择其中一项以下选项。
编辑器:从下拉菜单中选择此选项,并在相关字段中输入用作回归控制的文本内容。
文件:从下拉菜单中选择此选项,并指定用作回归控制的文件。如果要保证该文件路径始终相对于项目文件,则启用保留为相对路径选项。
数据源列:从下拉菜单中选择此选项,并指定特定数据源列中的值作为回归控制。该选项仅适用于包含数据源的项目。
从比较模式下拉菜单中选择文本,以访问该模式的以下配置选项。
确定将什么数据源值、文件或文本用作“control”值(用于比较所有后续结果的值)。从以下选项中选择一项。
编辑器:从下拉菜单中选择此选项,并在相关字段中输入用作回归控制的文本内容。
文件:从下拉菜单中选择此选项,并指定用作回归控制的文件。如果要保证该文件路径始终相对于项目文件,则启用保留为相对路径选项。
数据源列:从下拉菜单中选择此选项,并指定特定数据源列中的值作为回归控制。该选项仅适用于包含数据源的项目。
在比较工具文本模式的忽略区别选项卡中,可以通过点击删除按钮删除任何已忽略的文本差异
文本模式的比较工具选项选项卡中提供以下选项。
Java[a-zA-Z ]+\Q(\E[4-9]+th Edition\Q)\E
从比较模式下拉菜单中选择 XML 比较选项,以访问 XML 格式的选项。XML 模式解析 XML 文件,并按元素和属性对它们进行比较。(忽略 “ignorable” 空白字符)。比较结果表现为 XML 文档。如果希望使用该模式,请确保两个输入都是格式良好的 XML 文档,且它们具有相同类型的文档元素。
回归控制
确定将什么数据源值、文件或文本用作“control”值(用于比较所有后续结果的值)。回归控制设置包含两个配置 XML 消息的图形表现形式。
字面量 XML 回归控制
在比较工具的回归控制选项卡中,XML 字面量模式有以下选项可用。
编辑器:从下拉菜单中选择此选项,并在相关字段中输入用作回归控制的文本内容。
文件:从下拉菜单中选择此选项,并指定用作回归控制的文件。如果要保证该文件路径始终相对于项目文件,则启用保留为相对路径选项。
数据源列:从下拉菜单中选择此选项,并指定特定数据源列中的值作为回归控制。该选项仅适用于包含数据源的项目。
将表单 XML 选择作为回归控制模式时,回归控制选项卡中的选项被划分为 XML 视图树和 XML 配置选项卡。
XML 树将字面量 XML 显示为树,每个树节点表示一个元素。比较面板中树的选项可以使用与 SOAP 客户端工具的表单 XML SOAP Envelope 选项相同的风格进行配置。 更多信息,请参阅操作 XML 视图树。
在 XML 配置选项卡中可对 XML 组件进行添加、删除和重命名操作。用于 XML 配置选项卡的选项可以使用与 SOAP 客户端工具的表单 XML SOAP 消息封套选项相同的风格进行配置。更多信息,请参阅操作 XML 配置选项卡。
在 XML 模式下比较工具的忽略区别选项卡中,可以通过点击相应按钮对 Xpath 设置进行添加和修改操作。有关配置忽略区别的更多信息,请参阅Understanding XPaths。
在 XML 模式下比较工具的选项选项卡中有以下选项可用。
ExamXML 是 A7Soft 独立购买且授权的第三方工具。如果选择 ExamXML MDCXML,请确保指定可执行文件和选项文件的位置。
注意:
该选项文件需要包含以下最小设置(使用不支持以下参数的不同值):
可以通过将预期内容保存到文件中自动创建外部回归控制,而不是按照配置回归测试中的描述将其嵌入到比较工具。
产品中包含了 VMTools。不需要额外的许可证。如果选择 VMTools,那么可以指定以下内容:
输出结果为 XML:确定比较输出格式。如果未选择该框,则输出将以表格式进行显示。如果选择了该框,则输出将以 XML 格式进行显示。只有当另一个工具链接到比较工具的消息输出时,才会反映出差异。
在特定条件下,VMTools 将回调基于文本的差异。如果 XML 非常复杂,并且产生了过多的差异,或者需要花费过多的时间来完成,就会发生这种情况。
如果发生这种情况,其中一项以下消息将被打印到控制台视图中,以解释发生了什么。
未运行 XML 比较,差异过多。相反地,指定文本模式进行差异比较。
没有运行 XML 比较,没有在 30.0 秒内完成。相反地,指定文本模式进行差异比较。
切换为文本模式之前执行 XML 比较允许的最大时间为首选项面板的 Misc 选项卡中(连接设置> 默认的超时)指定的默认超时值,但不超过 120 秒。
从比较工具的比较模式下拉菜单中选择 JSON 后,可以使用回归控制和已忽略差异选项。
JSON 模式下比较工具的回归控制卡中有以下选项可用。
回归控制源:确定将什么数据源值、文件或文本用作“control”值(用于比较所有后续结果的值)。
编辑器:从下拉菜单中选择此选项,并在相关字段中输入用作回归控制的文本内容。
文件:从下拉菜单中选择此选项,并指定用作回归控制的文件。如果要保证该文件路径始终相对于项目文件,则启用保留为相对路径选项。
数据源列:从下拉菜单中选择此选项,并指定特定数据源列中的值作为回归控制。该选项仅适用于包含数据源的项目。
在 JSON 模式下比较工具的忽略区别选项卡中,可以通过点击相应按钮对 XPath 设置进行添加和删除操作。
当以 XML 模式配置比较工具时,在实际值和预期值之间发现的任何差异都用 XPath 表示。XPath 表示 XML 元素的位置,指定发生差异的位置、发生的差异类型,以及此差异是因为更改、插入还是因为删除引起的。
可以确定在运行比较工具时忽略哪些 XPath。可以选择是忽略完整路径,还是忽略特定 Xpath 操作,如 Content: Insert
操作。
对于忽略通常会导致回归测试失败的瞬态值,忽略 Xpath 非常有用。例如,实际输出可能包含一个不断变化的时间戳值。由于该值是不一样的,它将更不可能匹配比较工具中配置的值,该值正好造成测试失败。因此,可以指定忽略此值的 XPath,这样测试就不会失败。
将 Xpath 设置为忽略有三种不同的方法:
在比较工具中输入要忽略的 XPath 时,最简单方法的就是在质量任务视图中右键点击,而不是手动在比较工具 GUI 中输入 Xpath 位置。回归测试失败后,XPath 位置显示在质量任务视图的树表单中:
回归测试失败后,若要忽略质量任务视图中的 XPath:
也可以将要忽略的 XPath 手动键入或粘贴到比较工具配置面板中。
若要手动输入 XPath:
在以后运行修改的回归测试中,所有添加的 Xpath 将都被忽略。有关修改被忽略的 Xpath 的信息,请参阅Modifying XPath Settings。
通过完成以下内容,也可以直接忽略表单 XML 选项卡中表单 XML 树中的 XPath:
属性(修改/插入/删除):选择要忽略的属性操作。如果选择了该字段,则只会忽略 Xpath 中指定的属性名。若要忽略指定的属性,请在紧靠属性复选框的字段中输入属性名。如果希望忽略元素 Xpath 位置上的多个属性,请保留属性名为空或使用通配符 * (例如,myAttribute*)。
比较工具可以有自己的本地、排他的忽略 Xpath 设置,也可以引用其他比较工具可以使用的 Xpath 列表。 若要创建被忽略的 Xpath 的共享列表,请参阅全局忽略 Xpath 属性。
默认情况下,当向忽略区别选项卡添加 Xpath 时,该 Xpath 的所有可能操作都将显示在设置列。由于 Xpath 的所有可能操作都是默认指定的,所以在下一次运行回归测试时将忽略所有这些操作。然而,可以通过修改 Xpath 设置指定忽略哪些操作,而不是忽略所有操作。
若要修改 Xpath 设置:
属性(修改/插入/删除):选择要忽略的属性操作。如果选择了该字段,则只会忽略 Xpath 中指定的属性名。若要忽略指定的属性,请在紧靠属性复选框的字段中输入属性名。如果希望忽略元素 Xpath 位置上的多个属性,请保留属性名为空或使用通配符 *(例如,myAttribute*)。
在以后运行修改的回归测试中,所有指定的 Xpath 操作将都被忽略。
视频教程在此视频中,您将了解如何生成和更新回归控制。 |