位置发生更改的图像的自定义比较器 - 用例场景

相关项: GUI 测试和组件

Ben 是一位质量保证工程师,在使用 UFT One 方面有着丰富的经验,经常使用位图检查点测试用户界面上不同图标或图片的外观。他没有编程背景。

Joanne 是一名软件工程师,有着丰富的图像处理经验,熟悉 COM 编程。

Ben 开始测试家具采购应用程序用户界面时,创建了位图检查点来测试待售商品图片的显示是否正确。在检查点中,他捕获到包含要测试的图片的应用程序窗格图像。Ben 发现位图检查点经常失败,即使运行期间应用程序中显示的图形图像与创建检查点时捕获的图像似乎相同也会失败。

Ben 检查了运行结果中显示的实际位图、预期位图和差异位图。他还仔细看了看应用程序用户界面。该应用程序包含三个窗格。左窗格显示常规信息,中间窗格显示待售商品的图片,右窗格显示对应商品列表及相关详细信息。Ben 发现中间窗格中的图像有时会根据左窗格中显示的信息以某种方式发生轻微位移。图像本身仍然是相同的,但是它们更改后的位置会导致位图检查点失败。

Ben 不想使用像素容错方法来解决这一问题,因为他希望图像本身之内的像素不相同时检查点会失败。

Ben 将这个问题告诉他的同事,同事建议为位图检查点开发自定义比较器来解决问题,并叫 Ben 去找 Joanne。Joanne 开发了一款自定义比较器,接受输入允许图像位移而不会使检查点失败的像素数。Joanne 设计的位图比较在图像相同且都按相同像素数位移时会通过检查点。这样,Ben 得知他的检查点仍然会捕获不正确图像,同时还会捕获因图像不再对齐而导致应用程序界面外观混乱的情况。

Ben 将自定义比较器安装并注册到他的 UFT One 计算机上,然后为位图检查点选择新的自定义比较器。几番试验之后,他发现了要输入配置字符串中的可选像素数,有了这一功能后,可以检测到重要的应用程序界面更改,但不重要的图像位移不会造成检查点失败。

在 Ben 成功使用该自定义比较器一段时间后,他的公司决定在所有 UFT One 计算机上安装并注册该自定义比较器。现在,质量保证团队的每个成员都可使用该自定义比较器比较类似的情况。