npm 包 wdio-bv-image-comparison-service 使用教程

阅读时长 5 分钟读完

前言

在软件开发中,自动化测试是非常重要的一环。而在自动化测试中,图像比对又是一项特别重要的任务。而有了npm包 wdio-bv-image-comparison-service,图像比对的工作将变得非常简单。

本文将介绍如何使用 wdio-bv-image-comparison-service 进行自动化测试中的图像比对,而我们会基于示例代码来进行说明。

安装 wdio-bv-image-comparison-service

我们需要先安装 wdio-bv-image-comparison-service。可以通过 npm 来进行安装:

配置 wdio-bv-image-comparison-service

为了在测试中使用 wdio-bv-image-comparison-service,我们需要修改 wdio.conf.js 文件,配置其插件。

首先,让我们在这个文件中声明两个全局变量:

这里我们定义了 actualImageDirexpectedImageDir。它们分别用于存放我们实际测试得到的图片和预期的图片。

接下来,我们需要在我们的 wdio.conf.js 文件中声明我们想要使用的插件。在 services 属性中,添加以下代码:

-- -------------------- ---- -------
--------- -
  -------------------- -
    --------------- ------------------------
    ---------------- -----------------------------------
    --------------- ----------------------
    ---------------- -----
    ----------------- -----
    ------------------ -----
    ---------------- -----
    ------------------- -----
  --
--

这里我们声明了 image-comparison 插件,并且定义了一些可选的属性。这些属性分别如下:

  • baselineFolder: 这个属性指向存放预期图片的文件夹。在你第一次使用时,该文件夹将会被用来写入一些空白的基准图片。这些图片将会用来和你实际获得的图片进行比对。
  • formatImageName: 这个属性指定了用来指定图片文件名的字符串。段落之间用 - 分隔,其中可以插入占位符,如 {tag}, {browserName}, {width}{height}。你需要指定你自己的占位符,以适应自己的需求。
  • screenshotPath: 这个属性指定了存放实际测试得到的图片的文件夹。这些图片将会被用来和预期图片进行比对。
  • savePerInstance: 这个属性指定了是否每个实例都要保存一份截图。
  • autoSaveBaseline: 这个属性指定了是否自动保存基准图片。如果这个值为 true,则基准图片会在首次执行测试时自动保存。
  • blockOutStatusBar: 这个属性指定了是否要把状态栏加黑。
  • blockOutToolBar: 这个属性指定了是否要把工具栏加黑。
  • clearRuntimeFolder: 这个属性指定了是否要在每次测试后清空运行时文件夹。

比对图像

现在,我们已经完成了插件的配置。从现在开始,我们就可以在我们的测试代码中用插件来比对两张图片,从而进行自动化测试。

在我们的测试代码中,我们可以使用下面这个方法来比对两张图片:

这里,我们调用了 checkElement 方法。这个方法用来比对某个元素的视觉效果。

这个方法需要三个参数:

  1. elementSelector: 元素选择器,用来指定测试的元素。
  2. tag: 如果你想给测试定义一个标签,这里可以指定一个需要展示的标签。
  3. options: 可选的选项对象。这里,我们使用 hideScrollBars 选项来指定是否要隐藏滚动条。

完整示例

-- -------------------- ---- -------
----- ---- - ----------------
--------------------- - -------------------- -----------------
----------------------- - -------------------- -------------------

------------ --- ------------- -- -- -
  ---------- ------- --- ---- ------ -- -- -
    --------------------------------------
    ---------------------
      ------------------------------------
      -------------
      - --------------- ---- -
    --
  ---

  ------------ -- -
    ---------------------------------------
  ---
---

以上是一个完整的示例,其中我们测试了打开一个网站后某个元素的效果。该测试会自动把实际测试得到的图片保存到 actual-images 文件夹中,同时会将对应的预期图片保存到 expected-images 文件夹中。然后,这个插件会自动帮我们对这两个文件夹中相应的图片进行比对。

总结

npm包 wdio-bv-image-comparison-service 是一款非常好用的图像比对工具。使用该工具,你可以在你的自动化测试中快速、方便地完成图像比对。本文介绍了 wdio-bv-image-comparison-service 的基本使用方法和示例代码,相信大家已经简单了解如何使用它了。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067357890c4f7277583cc3

纠错
反馈