npm包reg-suit使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

在现代web开发技术中,前端自动化测试已经成为了不可或缺的部分。作为一个前端工程师,我们需要关注页面的基本元素样式的可视化变化,需要对页面的样式兼容性进行测试。然而,手动测试往往会浪费很多的时间,而且容易出错。因此,众多的自动化测试工具应运而生。reg-suit是一个全名是regression suite的自动化测试工具,它能帮助前端工程师快速定位并解决样式和布局的变化和兼容性问题。

reg-suit是什么?

reg-suit是一个流行的前端自动化测试工具,它支持对页面的基本元素样式变化、布局的变化和兼容性问题进行测试。reg-suit可以直接在命令行中使用,也可以将其集成到CI/CD系统中使用。其中,"regression suite"指的是“回归套件”,指的是一系列测试用例的集合,这个概念很适合前端自动化测试。

参考官方文档:https://github.com/reg-viz/reg-suit

安装reg-suit

在开始使用reg-suit之前,你需要先把它安装到你的本地计算机上。通过如下命令可以在全局安装(确保已经安装Node.js):

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

使用reg-suit

安装完成之后,我们就可以使用了。reg-suit通过比较两个不同的版本(不同版本可以是不同分支或者不同的commit)的快照(screenshot)生成一份报告,报道会检测页面上元素的可视化变化,并为你提供详细报告。下面我们来演示如何使用reg-suit:

1.配置文件

在使用reg-suit之前,你需要创建一个配置文件,以告诉reg-suit测试的一些细节信息。这个配置文件通常命名为regconfig.json,要放在与测试代码保持同级的根目录下。下面的是一个典型的配置文件的例子:

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

为了说明,下面我们依次介绍一下上面的配置项:

  • 注意:如果本地没有上述分支,则需要执行fetch;如果已经有了也可以执行git checkout切换。

2.生成快照

配置好了之后,我们就可以使用命令行命令请求生成快照:

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

该命令将会自动检测你的项目,并且生成基于master分支和feature-1分支的快照。 快照将会输出到snapshot/__reg-suit__文件夹下。

3.生成测试报告

执行完生成快照之后,我们可以通过reg-suit run命令来生成测试报告:

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

report会被生成到snapshot/__reg-suit__/report.html文件夹下。你可以使用浏览器打开该文件来查看测试报告。

示例代码

为了更好地说明reg-suit,下面我们给出一个样例代码:

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

接下来,我们要通过添加样式,来验证reg-suit的效果。第一次提交代码我们先定义这样一种样式:

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

执行前后对比reg-suit测试,首先安装完成之后,我们需要运行下面的命令:

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

命令的作用是在你的项目中添加reg-suit需要的特殊注入脚本,生成cypress测试框架所使用的配置文件(如果你的项目中已经有过cypress,则需要跳过上面这一步)。

然后,我们在根目录下添加一个cypress测试脚本test.js

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

这个测试脚本的意思是访问主页面,等待一段时间(确保样式已经加载完成),然后进行快照对比测试。

最后,我们再把这次更新它到git库中,master分支下(假设已经切换到master分支下)。做完以上的三步之后,我们进入项目路径,执行如下命令:

-------- ---

你将会看到下面的输出:

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

snapshot/__reg-suit__/report.html文件夹中,你将会看到生成的测试报告。

总结

通过阅读本篇文章,你应该已经知道了reg-suit是如何实现基础元素样式的可视化变化检测的了。它可以帮助我们自动发现,解决前端样式、布局和兼容性问题。当然,在实际使用中,有很多细节需要注意,例如快照对比阈值、测试用例说明等。希望本篇文章能够帮助你更好地了解reg-suit,并为你在实际项目中使用它提供参考。

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


猜你喜欢

  • npm 包 truffle-interface-adapter 使用教程

    前言 在区块链应用的开发中,以太坊智能合约是一个重要的组成部分,而 truffle-interface-adapter 是一个非常有用的 npm 包,它可以把以太坊智能合约的 ABI(Applicat...

    5 年前
  • npm 包 truffle-error 使用教程

    在前端开发中,经常会遇到错误。有时候错误信息不清晰,不易于定位和解决。为了帮助开发者更好地处理错误,npm 上有一个很有用的包:truffle-error,本教程将详细介绍如何使用 truffle-e...

    5 年前
  • npm 包 truffle-contract-schema 使用教程

    概述 truffle-contract-schema 是一个 npm 包,它提供了一个用于构建以太坊智能合约的 JSON Schema。使用该包,您可以在编写 Solidity 合约的同时创建对应的 ...

    5 年前
  • npm 包 original-require 使用教程

    在前端开发中,我们经常需要引入各种库和框架来实现我们的需求。而这些库和框架的依赖管理则是通过 npm 包来实现的。不过,有时候我们会遇到一些问题,比如某个 npm 包不兼容我们的代码,或者我们需要修改...

    5 年前
  • npm 包 truffle-provider 使用教程

    在以太坊的智能合约开发中,Truffle 是一款非常流行的开发框架。Truffle 提供了很多有用的工具,例如编译器、锁定器以及交互式 CLI 等。有了这些工具,我们可以更加轻松地开发和调试智能合约。

    5 年前
  • npm 包 truffle-config 使用教程

    近年来,随着区块链技术的发展,智能合约在分布式应用中扮演着越来越重要的角色。作为智能合约开发的主流工具之一,Truffle 框架为开发人员提供了一系列便捷的工具和库,使得智能合约的开发变得更加容易和高...

    5 年前
  • npm 包 truffle-expect 使用教程

    在区块链开发中,智能合约的测试是至关重要的部分。为了简化测试工作,可以使用 truffle-expect 这个 npm 包来编写测试用例。本文将详细介绍 truffle-expect 的使用方法,包括...

    5 年前
  • npm 包 truffle-contract-sources 使用教程

    前言 在以太坊智能合约的开发中,有时需要在前端应用程序中调用智能合约函数。为了简化这一过程,我们可以使用 truffle-contract 包快速创建 JS 对象,并与智能合约进行交互。

    5 年前
  • npm 包 truffle-provisioner 使用教程

    简介 truffle-provisioner 是一个用于以太坊智能合约开发的 npm 包,它可以帮助你快速的填充测试数据和部署合约到以太坊网络中,这样可以节省开发者的时间,增强开发效率。

    5 年前
  • npm 包 truffle-resolver 使用教程

    前言 在以太坊开发中,一个智能合约往往会继承自其他的合约,这就需要我们实现合约的依赖管理。而 truffle-resolver 就是一个方便管理智能合约依赖的 npm 包,今天我们就来详细讲解一下如何...

    5 年前
  • npm 包 truffle-compile 使用教程

    什么是 truffle-compile truffle-compile 是一个 npm 包,用于编译 Solidity 合约。它是由 Truffle 框架提供的一个工具,Truffle 是一个用于构建...

    5 年前
  • npm 包 truffle-contract 使用教程

    在前端开发中,使用智能合约与区块链交互是一种常见的场景。而 truffle-contract 就是一个可以让开发者更便捷地在前端使用智能合约的 npm 包。 本文将介绍 npm 包 truffle-c...

    5 年前
  • npm 包 truffle-default-builder 使用教程

    前言 truffle-default-builder 是一个用于构建智能合约项目的 npm 包。它提供了一套默认的项目结构,包含了 Solidity 合约的编译、部署和测试等功能。

    5 年前
  • npm 包 andlog 使用教程

    简介 andlog 是一个基于 Node.js 的 npm 包,旨在为前端用户提供一个简单但强大的记录日志的解决方案。该包结合了 console.log 和 console.error 的功能,并提供...

    5 年前
  • npm 包 bows 使用教程

    简介 bows 是一个轻量级的前端日志工具库,可用于在浏览器和 Node.js 环境中记录和输出日志信息。bows 支持格式化输出,可以根据不同的场景配置不同的输出样式,非常适合前端开发中的调试和错误...

    5 年前
  • npm 包 better-console 使用教程

    在前端项目中,console 是我们常用的调试工具之一。但是默认的 console 的输出风格比较简单,无法很好地辨认不同类型的信息。 npm 包 better-console 可以帮助我们优化 co...

    5 年前
  • npm 包 react-element-to-jsx-string 使用教程

    在 React 开发中,我们经常需要将组件以字符串形式展示出来,例如用于测试、错误排查等等。这时候就需要使用一个 npm 包:react-element-to-jsx-string。

    5 年前
  • npm 包 expect-jsx 使用教程

    什么是 expect-jsx expect-jsx 是一个基于 Jest 的 npm 包,用于测试 React 组件的行为。它的主要特点是可以方便地测试组件的渲染结果,而不仅仅是组件的属性和状态。

    5 年前
  • NPM 包 babel-plugin-inline-json-import 使用教程

    前端开发中,我们经常需要使用 JSON 数据。通常情况下,我们会将 JSON 数据保存在一个 JSON 文件中,然后在代码中使用 AJAX 或者 import 语句来引入并解析这些数据。

    5 年前
  • npm 包 ets 使用教程

    ETS 是一款强大的 Electron 框架的开发工具,可用于加快 Electron 应用程序的工作流程。其可以生成各种类型的应用程序,快捷且高效。 本文将介绍如何使用 npm 包 ets,让您可以轻...

    5 年前

相关推荐

    暂无文章