因为眼睛不会说谎 - 使用 Applitools Eyes 进行视觉测试

已发表: 2021-08-17

回归测试确保引入软件的任何更改都不会破坏以前运行良好的任何内容。 可视化回归测试确保任何 GUI 问题都不会因为所做的更改而出现。 应用程序应该仍然看起来像在引入修改之前的样子。 视觉回归测试工具捕获当前 UI 的屏幕截图并将它们与原始屏幕截图进行比较。 它着眼于历史两极,并确认即使在修改之后,网页仍然可以在各种浏览器中按预期呈现。 Applitools Eyes 是市场上最受欢迎的视觉测试工具之一,由其专有的认知视觉技术提供支持。

Applitools 开发了一种基于云的软件测试工具 Applitools Eyes,它可以自动验证任何 Web、移动和本地应用程序的所有视觉方面。 这些验证类似于手动测试人员所做的验证。 Applitools 技术自动验证 UI 布局、内容和外观的正确性,并使您能够自动化测试,而这些测试只能在没有它的情况下手动完成。 它可以在任何给定的浏览器、设备、操作系统和编程语言上,在任何屏幕分辨率和外形尺寸上测试应用程序。

视觉测试

Applitools Eyes 系统概述

各种测试环境与 Applitools 的各种 Eyes 组件交互以实现可视化 UI 测试。 该系统由以下组件组成:

  • 被测应用程序 (AUT)。
  • 为 AUT 运行并验证其准确性的测试套件。
  • 在测试套件代码中调用 SDK 以触发屏幕截图捕获和视觉检查。
  • 像 Selenium 或 Appium 这样的应用程序驱动程序提供了一个框架来构建可以发送到 AUT 的测试套件。 它还使用这些来捕获屏幕截图。
  • 服务器接收并存储从 SDK 发送的屏幕截图。 它将它们与存储的基线图像进行比较并报告任何差异。
  • Eyes Test Manager 为用户提供他们可以查看的测试结果,并帮助用户报告错误和管理基线图像。

下面是组件如何交互以运行测试的示例,允许测试团队查看和管理测试结果。

应用工具

信用:应用工具

第 1 步:测试团队运行测试套件。 代码通常针对不同的应用程序状态重复以下步骤。

STEP 2.1:使用 Selenium 或 Appium 等驱动程序,模拟鼠标点击、键盘输入等用户操作。

2.2 步:随之调用 Eyes SDK API 以同时执行视觉检查点。

步骤 2.2.a: Eyes SDK 使用驱动程序来收集屏幕截图。

步骤 2.2.b:之后 Eyes SDK 将收集到的图像发送到 Eyes 服务器。 在这里,图像和其他检查点图像与之前存储在服务器上的基线图像进行比较。

第 3 步:处理完测试中的图像后,Eyes Server 会提供有关观察到的任何差异的信息。 除此之外,还提供了一个可以查看结果的 Eyes 网站的链接。

第 4 步:测试团队使用 Eyes Test Manager 查看测试结果、更新基线、报告错误和注释需要特殊处理的区域。 查看所有结果后,测试团队保存基线。 这将成为下一次测试运行比较的基础。

Applitools 的 SDK 支持广泛的流行 - Web、移动和桌面测试自动化框架、各种应用程序驱动程序基础设施、编程语言和所有常见平台、浏览器和操作系统。 这些 SDK 不直接与 AUT 交互,因此 Eyes 完全独立于应用程序的实现和部署方式。

Applitools Eye 的兼容性

Applitools 为所有流行的编程语言和测试运行器提供 SDK,为 Web、移动、桌面、PDF、TV OS、物联网、图像等提供全面的测试覆盖。

WEB SDK

WEB SDK 支持所有主要的 Web 测试工具和程序:

  1. Selenium for -Java、JavaScript、C#、Ruby、PHP、Python
  2. WebdriverIO4、WebdriverIO5、WebdriverIO6
  3. 硒 IDE
  4. 剧作家(新增)
  5. 傀儡师(新增)
  6. 测试咖啡馆
  7. Storybook CSF React(新增)、Storybook -React、Angular、Vue
  8. 瓦提尔
  9. 水豚
  10. 量角器(新增)
  11. UFT/QTP
  12. 精益 CFT#,精益 JavaScript
  13. 编码的用户界面

移动 SDK

移动 SDK 支持所有主要的移动测试工具和程序:

  1. Appium Native –C#、Java、JavaScript、PHP、Python、Ruby
  2. Appium Web - C#、Java、JavaScript、PHP、Python、Ruby
  3. XCUI Objective-C,XCUI Swift
  4. 浓咖啡
  5. 葫芦 iOS 和 Android

截图 SDK

CLI、C#、Java、JavaScript、PHP、Ruby、XCTest Objective-C、XCTest Swift

桌面 SDK

Windows UFT、Windows 编码 UI

无代码工具

PDF 表单,无代码 IDE

Applitools 眼中的测试经理

Eyes Test Manager 是一个基于浏览器的工具,提供对可视化 UI 测试数据的访问。 它允许用户管理测试结果、基线和其他元数据。

Eyes Test Manager 提供以下设施:

  • 访问可视化 UI 测试运行的结果
  • 接受或拒绝记录的差异
  • 用注释注释步骤
  • 添加匹配级别并忽略区域
  • 更新基线
  • 查看和管理应用程序和测试名称
  • 查看和管理基线和分支
  • 查看和管理执行环境
  • 比较和合并基线分支
  • 管理您的帐户、团队和用户

Eyes 中集成了各种其他工具和概念,可帮助用户组织测试和测试用例。 Baseline 就是这样一种工具。 目视检查协议将捕获的图像与之前测试运行的基线中存储的图像进行比较。 每个测试运行都可以有不同的外观和感觉。 每个测试的眼睛有许多基线,其中每个基线代表一个选定的环境。 这些基线中的每一个都可以存储一系列图像参考。

当可视化测试运行时,应用程序会通过一系列应用程序状态来驱动,并且对于每个状态,都会执行一个检查点,该检查点会为该状态捕获应用程序的图像。 眼睛将捕获的一系列图像与存储在该测试基线中的一系列参考图像进行比较,并报告任何显着差异。 基线中的图像取决于测试运行,但它们也可能取决于其他因素,如操作系统、浏览器类型和视口大小。 这些因素称为执行环境。

视口是应用程序窗口中任何应用程序的可视区域。 视口的大小也会影响任何页面的布局。 例如,改变浏览器的尺寸可能会改变渲染文本的外观。 具有菜单等元素的响应式页面可能会因不同的维度而有所不同。 字体和图像大小可能会改变。 注意:视口是特定于平台的。