npm 包 @domain7/gemini-gui 使用教程

简介

@domain7/gemini-gui 是一款前端自动化测试工具,它能帮助前端开发人员快速地进行视觉回归测试,检查页面布局和功能是否正常,从而加强产品质量。本文将介绍如何使用这个工具。

安装工具

安装 npm

如果你还没有安装 npm,你需要先安装它。npm 是 Node.js 包管理工具,它可以下载安装各种依赖包。

你可以从 https://www.npmjs.com/get-npm 网站下载 npm 安装包并安装。

安装 @domain7/gemini-gui

使用 npm 工具安装 @domain7/gemini-gui 包:

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

该命令会自动在项目中添加 @domain7/gemini-gui 依赖,并保存依赖信息到 package.json 文件的 devDependencies 字段中。

配置文件

创建配置文件

打开项目根目录,新建文件 gemini.js,并输入如下内容:

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

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

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

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

代码解释:

  • system 对象中,debug 字段指定是否在终端中输出调试信息;workers 字段指定 gemini 在每个浏览器上并行运行的 worker 数量;
  • browsers 对象是指定要运行的浏览器列表,这里我们仅指定 Chrome 和 Firefox;
  • sets 对象中,desktop 字段是用来指定要在哪些浏览器上运行测试,并且指定了测试文件的位置;
  • rootUrl 是项目的测试 URL,这里我们指定它为 http://localhost:3000

创建测试文件

在项目中创建 tests/gemini/demo.js 文件,包含如下代码:

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

这段代码定义了一个名为 demo 的测试 suite,指定 URL 为主页(/),并捕获整个 body 元素,保存一个名为 plain 的截屏。

运行测试

在本地机器上执行测试

我们可以在终端中执行 gemini test 命令运行测试:

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

这个命令会在 Chrome 和 Firefox 中运行全部测试,测试结果会输出到终端以及生成截屏。

CI 持续集成

对于持续集成环境(CI,如 Travis CI),我们应该在 CI 环境中运行测试。

添加 .travis.yml 文件到项目中,添加如下内容:

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

它完成以下操作:

  • 使用 Node.js 12 运行测试;
  • 安装 Xvfb 运行环境;
  • 在 Xvfb 上设置一个虚拟屏幕;
  • 运行测试。

在 CI 环境下,我们使用 gemini-ci 命令运行测试:

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

这个命令会在默认浏览器中打开运行结果,你可以通过调整代码来改变这些设置。

总结

本文介绍了如何使用 @domain7/gemini-gui 工具来进行基于图像比较的自动化测试。当你的前端项目变得越来越庞大的时候,这种测试能够返回有价值的信息,帮助你更快速地检测问题。请尝试使用它,并在您的项目中实施自动化测试。

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


猜你喜欢

  • npm 包 html-element-size 使用教程

    在前端开发过程中,我们经常需要获取网页元素的尺寸信息,例如它的高度和宽度。在此之前,开发者功夫不少,需要自己计算各个属性值。但是幸运的是,现在已经有了针对此问题的 npm 包 - html-eleme...

    3 年前
  • npm 包 tor-stem 使用教程

    介绍 tor-stem 是一款用于控制和管理 Tor 匿名网络服务的 Node.js 模块。使用此模块可以快速的在你的应用中自动化控制 Tor 的代理。本教程将会详细的介绍如何安装和使用此模块来实现该...

    3 年前
  • npm 包 angular-gridster2-1 使用教程

    介绍 angular-gridster2-1 是一个基于 Angular 的网格布局库,用于快速构建可拖拽的网格布局。它支持自适应布局,例如流式布局和响应式布局,并提供了丰富的 API,可以快速定制你...

    3 年前
  • npm 包 meteor-redux-subscriptions 使用教程

    简介 meteor-redux-subscriptions 是一个专门用于在 Meteor 应用中使用 Redux 来管理订阅的 npm 包。它允许开发者通过 Redux 进行订阅管理、跟踪以及缓存数...

    3 年前
  • npm 包 categories 使用教程

    Npm(Node Package Manager)是 Node.js 的官方包管理器,它提供了一个方便的方法来管理和安装前端开发过程中所需的各种软件包、库和工具。npm 包 categories 是一...

    3 年前
  • npm 包 yalla-component 使用教程

    yalla-component 是一个基础前端组件库,提供了一套常见的组件,包括按钮、表单、弹窗等,可以帮助开发者快速构建自己的页面。本文将介绍 yalla-component 的使用方法。

    3 年前
  • npm 包 angular-gridster2-1.x 使用教程

    在前端开发中,常常需要使用一些可拖拽和可缩放的网格控件。angular-gridster2-1.x 就是一款非常优秀的 npm 包,它提供了强大的网格控件功能。本文将详细介绍该 npm 包的使用教程。

    3 年前
  • npm 包 nummern 使用教程

    简介 nummern 是一个用于处理数字的 JavaScript 库,它可以对数字进行格式化、转换、校验等操作。 与其他处理数字的库相比,nummern 具有以下特点: 支持国际化,可以方便地处理不...

    3 年前
  • npm 包 @paperist/cli 使用教程

    什么是 @paperist/cli @paperist/cli 是一个基于 Node.js 平台的命令行工具,可以帮助前端开发者更加高效地进行项目管理、构建、测试等工作。

    3 年前
  • npm 包 matrix_deep_clone 使用教程

    在前端开发中,经常会遇到需要复制多维数组或对象的情况,这时候我们可以使用 npm 包 matrix_deep_clone 来快速完成深度克隆。本文将详细介绍如何使用该 npm 包,包括安装、使用、原理...

    3 年前
  • npm 包 react-html-element-size-mixins 使用教程

    在前端开发中,HTML 元素的大小计算是一个常见的需求,而 react-html-element-size-mixins 是一个方便的 npm 包,可以通过使用 mixins 的方式帮助我们获取 HT...

    3 年前
  • npm 包 dcraw 使用教程

    如果你是前端开发人员,并且需要处理照片,那么你需要学习使用 dcraw 这个 npm 包。dcraw 是一个用于处理 RAW 格式照片的工具,它是非常流行的一个开源工具,广泛被用于许多应用中。

    3 年前
  • npm 包 abp-chronological-image 使用教程

    随着技术的不断发展,前端开发的效率也在不断提高。npm 包在前端中被广泛使用,为开发者提供了更加方便快捷的开发体验。本文将介绍一款 npm 包:abp-chronological-image,该包可以...

    3 年前
  • npm 包 eslint-config-bugly-base 使用教程

    在日常的前端开发工作中,代码的规范性和代码的质量一直是我们开发者所注重的问题。其中的一个工具就是 ESLint。而 ESLint 的配置也非常重要,因为它有助于保证代码的规范性和质量。

    3 年前
  • npm 包 namingly 使用教程

    在开发过程中,我们经常需要使用各种第三方模块,而 npm 是最常用的包管理工具之一。npm 包的名称应该是简明易懂的,要遵循一些命名规则,以便其他开发者可以更容易地找到和使用它们。

    3 年前
  • npm 包 powerups 使用教程

    什么是 powerups? Powerups 是一款用于前端开发的 NPM 包,其提供了许多有用的工具库和代码片段,以帮助开发者更快更好地构建应用程序和网站。 Powerups 提供的功能涵盖了许多情...

    3 年前
  • npm 包 exchange-bittrex-public-api 使用教程

    简介 exchange-bittrex-public-api 是一个 npm 包,可以用于从 Bittrex 公共 API 获取交易数据并对其进行处理。Bittrex 是一家加密货币交易平台,提供超过...

    3 年前
  • React Native 中文技术文章:npm 包 react-native-scrollable-tab-view-rtl 使用教程

    前言 React Native 是 Facebook 推出的一款跨平台移动应用开发框架,可以用 JavaScript 编写 iOS 和 Android 应用程序。在 React Native 中,我们...

    3 年前
  • npm 包 separateit 使用教程

    前言 随着前端项目越来越大,模块化的需求越来越迫切。在前端项目中,我们经常会遇到需要将一堆零散的 css 或 js 文件打包成一个文件,以减少页面请求次数,提高页面加载速度。

    3 年前
  • npm 包 sfo 使用教程

    什么是 npm 包 sfo sfo 是一个适用于前端开发的工具包,它提供了一些实用的函数和工具,帮助我们更高效地编写代码。sfo 的功能包括但不限于: 数组/对象的操作 浏览器判断/环境判断 字符串...

    3 年前

相关推荐

    暂无文章