npm 包 drupal-backstop-generator 使用教程

前言

在传统的前端开发过程中,我们一般会先进行开发、测试、部署等过程,然后再进行回归测试。但是一旦我们的项目复杂度开始增加,测试用例数量逐渐增多,手动回归测试所需的时间和人力开始变得不可承受。此时,我们不得不寻求一种自动化测试的解决方案。

BackstopJS 是一个开源的工具,它可以自动完成网页视觉回归测试(visual regression testing),即对比页面在不同时间或在不同终端下的样式差异。在 Drupal 项目中使用 BackstopJS 进行视觉回归测试非常常见,然而,手动生成 BackstopJS 的配置文件却是一件繁琐而且容易出错的事情。

这里,我们介绍一个 npm 包 drupal-backstop-generator,它可以自动生成 Drupal 站点的 BackstopJS 配置文件,极大提高了工作效率,降低了出错概率。

安装

我们可以通过 npm 来安装 drupal-backstop-generator:

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

使用方法

1. 初始化配置

在终端中,我们进入我们的 Drupal 项目目录,然后执行如下命令:

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

执行完毕后,我们会发现在我们的 Drupal 项目中会出现一个新的 backstop.json 文件和一个名为 backstop_data 的文件夹。这就是我们的 BackstopJS 配置文件和测试数据文件夹。

2. 配置 Drupal 站点信息

然后,我们需要进入 backstop.json 文件,修改 srcUrl 字段为我们的 Drupal 站点地址,并将 cookiePath 以及 onBeforeScript 字段留空:

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

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

3. 添加测试场景

scenarios 字段中,我们可以添加我们要测试的页面。如下所示,这里我们添加了三个测试页面:

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

我们还可以为测试场景设置更多参数,如下所示:

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

4. 生成测试图片

我们在命令行中执行:

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

然后,BackstopJS 就会自动加载在 backstop.json 文件中配置的场景,并在运行过程中捕获对应场景的截图。 完成后,我们可以在 backstop_data 目录下找到一个名为 bitmaps_test 的文件夹,其中包含了每个场景的测试图片。

5. 进行回归测试

在我们的 .ci.yml 配置文件中,我们可以将回归测试命令加入 scripts 中:

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

然后,在执行构建时,我们可以进行回归测试。如果有任何样式的变动,我们都可以通过比较测试图片来检查并调整零散样式或完善设计规范,从而确保我们的网站始终保持美观和稳定。

结语

使用 drupal-backstop-generator 包可以帮助我们通过自动生成 BackstopJS 配置文件,自动化的进行视觉回归测试,提高了我们的生产效率,同时也保证了我们网页的质量。而使用 BackstopJS 进行视觉回归测试,也是一种十分推荐的前端自动化测试解决方案。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005772581e8991b448eac5d


猜你喜欢

  • npm 包 u-bits-js 使用教程

    前言 在前端开发中,我们经常需要用到一些基于 JavaSript 的库或框架来简化开发流程,提高效率。npm 是目前最流行的 JavaScript 包管理器之一,它提供了一个庞大的包仓库供开发者使用。

    3 年前
  • npm 包 u-mgr-js 使用教程

    介绍 u-mgr-js 是一个前端管理系统的工具类 npm 包,它提供了一些优秀的基础框架、组件、工具等,帮助我们更加高效地完成前端开发和管理工作。 安装 npm install u-mgr-js 使...

    3 年前
  • npm 包 u-uuid-js 使用教程

    在前端开发中,生成唯一标识符(UUID)是一项非常基础且重要的任务。而 u-uuid-js 就是 npm 上一个非常实用的 UUID 生成工具库。本文将详细介绍 u-uuid-js 的使用方法,并且通...

    3 年前
  • npm包 u-queue-js使用教程

    简介 在前端开发的过程中,我们经常要处理一些异步任务。当有多个异步任务需要处理,并且需要保证它们按照一定的顺序依次执行时,我们就需要使用异步队列了。在 Node.js 和现代浏览器环境中,异步任务队列...

    3 年前
  • npm 包 u-react-web 使用教程

    前端在开发过程中,经常会使用 npm 包来优化编程效率,提高代码复用性,减少代码量。其中,u-react-web 是一款常用的 npm 包,旨在简化并优化 React 前端开发流程,提供了一系列实用组...

    3 年前
  • NPM 包 customvision-api 使用教程

    介绍 NPM 是 Node.js 包管理工具,是前端开发中非常重要的一部分。而 customvision-api 扩展是一个为使用 Microsoft Azure 自定义视觉服务的开发人员提供的 No...

    3 年前
  • npm 包 node-flywaydb-wrapper 使用教程

    简介 Node-flywaydb-wrapper 是一个基于 Node.js 的 Flyway 数据库迁移工具的封装库。它提供了便捷的 API,可以快速地实现数据库的版本迁移。

    3 年前
  • npm 包 react-slick-test 使用教程

    介绍 react-slick-test 是一个支持响应式和无限循环的 React 轮播组件。本文将提供详细的使用教程,包括安装、配置、使用和优化。 安装 安装 react-slick-test 可以通...

    3 年前
  • npm包chunk-splitting-plugin使用教程

    什么是chunk-splitting-plugin? 在使用webpack进行打包时,很多时候我们需要对应用程序进行代码分割,这样可以增加应用程序的加载速度。chunk-splitting-plugi...

    3 年前
  • npm 包 matrix-js-lib 使用教程

    前言 Matrix 是一种开源的即时通讯协议,它提供了一种去中心化的聊天方式,使得用户可以跨平台、跨应用进行聊天。matrix-js-sdk 是一个用 JavaScript 编写的库,它可以让我们在 ...

    3 年前
  • npm 包 rsuite-intl 使用教程

    简介 rsuite-intl 是一款用于国际化的 NPM 包,可以方便地为前端应用添加多语言支持。它支持众多语言,包括英语、中文、德语、阿拉伯语等等。同时,它还支持动态语言包和本地化的数字和日期格式。

    3 年前
  • npm 包 ukx-loader 使用教程

    什么是 ukx-loader ukx-loader 是一个基于 webpack 的 loader,可以将 ukx 文件转换为 CSS 样式文件。ukx 文件是一种类似于 CSS 的样式语言,但更加灵活...

    3 年前
  • npm 包 @bitr/zmq 使用教程

    在前端开发中,有时需要在不同的进程之间进行通信,这时候就需要用到 ZeroMQ(简称 ZMQ),它是一个高效、可靠、快速的消息传递库,可以用于多种编程语言。今天,我们就来介绍一下使用 npm 包 @b...

    3 年前
  • npm 包 u-serv-js 使用教程

    前言 在前端开发中,我们经常需要向服务器端发送请求,获取数据或提交数据,而 Ajax 是我们一直以来使用的方法。但是,由于 Ajax 的局限性,现在的前端开发也采用了更加高效、方便的方法,即使用 u-...

    3 年前
  • npm 包 u-stack-js 使用教程

    介绍 u-stack-js 是一个 Node.js 的模块,它可以模拟一个 Web 堆栈,让您更好地理解前端的工作原理。本教程将帮助您理解 u-stack-js 的使用方法以及它对前端开发的指导意义。

    3 年前
  • npm 包 purified 使用教程

    在现代化的前端开发中,使用基于现有工具和插件构建应用程序已成为标准。npm(Node.js 包管理器)是一个常用的前端包管理工具,它提供了许多非常有用的软件包和库,其中一个非常有用的包是 purifi...

    3 年前
  • npm 包 park-miller-carta-prng 使用教程

    什么是 park-miller-carta-prng park-miller-carta-prng 是一个基于 Park-Miller-Carta 伪随机数生成算法的 npm 包。

    3 年前
  • npm 包 angular-file-dropzone 使用教程

    前言 在前端开发中,我们经常需要上传文件。而 angular-file-dropzone 是一个方便且易于使用的 AngularJS 组件,用于文件上传并提供了丰富的选项和事件。

    3 年前
  • npm 包 angular-file-picker 使用教程

    简介 angular-file-picker 是一个流行的用于上传文件的 npm 包,它是基于 Angular 框架开发的。该包提供了简单的 API 以及 UI,使得用户可以轻松上传和管理文件。

    3 年前
  • npm 包 zonamap 使用教程

    前言 对于前端工程师来说,使用合适的工具和技术可以简化工作流程,提高开发效率。在前端开发中,有很多优秀的 npm 包可以使用,其中之一就是 zonamap。 zonamap 是一款功能强大的地图 SD...

    3 年前

相关推荐

    暂无文章