npm 包 moretv-tast 使用教程

前言:moretv-tast 是一个基于 Puppeteer 的 Nodejs 库,用于进行 UI 自动化测试。它的特点是功能强大且易用,支持中文操作及断言,同时具有良好的扩展性与定制性。本文章将详细介绍如何使用 moretv-tast 进行前端 UI 测试。

安装

在项目目录中,使用以下命令进行安装:

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

快速上手

使用 moretv-tast 进行 UI 自动化测试,需要先创建一个测试框架,在框架中导入 moretv-tast,并编写测试代码。以下提供一个快速使用 moretv-tast 的示例:

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

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

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

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

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

运行上述代码,将会启动 Chrome 浏览器,自动访问百度首页,输入“hello 宝宝”并点击搜索按钮,然后断言页面标题中包含“hello 宝宝”。若测试结果通过,则输出以下语句:

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

测试框架

在测试框架中,需要先创建一个 TestLauncher 的实例,并传入配置项,例如:

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

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

TestLauncher 的常用配置项及含义如下:

  • headless:是否启动 Headless 模式,默认为 true
  • executablePath:可执行版 Chrome 的路径,仅在 headless 模式下有效。
  • slowMo:设置代码执行速度,单位为毫秒。
  • timeout:设置每个测试用例的最大执行时间,单位为毫秒。
  • viewport:设置浏览器窗口大小。
  • logger:设置日志输出方式。

页面对象

在 moretv-tast 中,页面对象是指经过封装并提供了更高层次方法的页面实例。在测试代码中,推荐使用页面对象来进行页面操作。

页面对象包含了更多的方法,例如inputclickassertIncludegetContext等。以下是一个简单的示例:

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

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

选择器

在 moretv-tast 中,选择器是指用于定位元素的字符串。内置了以下 6 种选择器:

  • Selector: CSS 选择器。
  • XPathSelector: XPath 选择器。
  • LinkSelector: 链接选择器,用于根据链接文本选择元素。
  • TextSelector: 文本选择器,用于根据元素文本内容选择元素。
  • AttributeValueSelector: 属性值选择器,用于根据元素属性值选择元素。
  • LabelSelector: 标签名称选择器,用于选择某种类型的元素。

以下是它们的具体用法:

CSS 选择器:

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

XPath 选择器:

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

链接文本选择器:

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

元素文本内容选择器:

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

元素属性值选择器:

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

标签名称选择器:

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

常用操作

  • 点击元素
----- -------------------------------------
  • 输入文本
----- ----------------------------- ------ --------
  • 选择下拉框选项
----- ------------------------------- --------
  • 切换窗口
----- ----------------- ------
----- -------------------------------------- ---- ---
  • 断言页面标题
----- -------------------------
  • 断言元素包含指定文本
----- --------------------------------- --------
  • 断言元素不包含指定文本
----- ------------------------------------ --------

更多的操作方法可以查阅官方文档。

总结

使用 moretv-tast 进行前端 UI 自动化测试,可以大大提高测试效率,减少测试成本,并在一定程度上保证了测试的稳定性与准确性。本文介绍了 moretv-tast 的使用方法,并提供了详细的示例代码以及常用操作方法。希望读者可以从中受益,并在项目中应用它,创造更好的开发体验。

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


猜你喜欢

  • npm 包 moretv-toast 使用教程

    前言 在前端开发过程中,我们常常需要使用各种工具和插件来提高效率以及优化用户体验。本文将介绍一个常用于移动端 Toast 提示的 npm 包“moretv-toast”,并提供详细且有深度的使用教程和...

    3 年前
  • npm 包 react-expandable-treeview 使用教程

    前言 在前端开发中,树形结构的数据展示是很常见的需求,而 react-expandable-treeview 是一个很好用的 npm 包,能够方便地实现树形结构的数据展示。

    3 年前
  • NPM 包 vue-cli-locale-th 使用教程

    在前端开发中,很多时候我们需要使用不同的编程语言和工具来完成项目,而其中不可避免的一些问题就是语言和地域的差异,比如语言的翻译和地域的适配。在 Vue.js 开发中,如果我们需要使用泰国语言版本,那么...

    3 年前
  • npm 包 genmap2d 使用教程

    介绍 genmap2d 是一个快速生成二维地图的 npm 包。它可以根据提供的配置参数快速生成具有地图感的二维数组。 安装 --- ------- --------使用 使用 genmap2d 的方法...

    3 年前
  • npm 包 simple-logger-node 使用教程

    npm 是前端领域的常用包管理器,它能够帮助我们快速、高效地安装和管理各种依赖项。其中,simple-logger-node 是一款适用于 Node.js 环境的简单的日志记录工具,提供了多种输出格式...

    3 年前
  • npm包react-native-credit-card-input-vertical使用教程

    简介 React Native是一种用于移动应用程序开发的开源框架。作为一种跨平台的技术,它可以使用JavaScript和React语言构建应用程序,同时遵循原生性。

    3 年前
  • npm 包 @charge/sdk 使用教程

    简介 @charge/sdk 是一个用于接入 Charge 计费支付平台的 Node.js SDK,方便前端开发人员接入 Charge 平台,实现收款功能,使用方便,同时具有稳定、高效的特性。

    3 年前
  • npm 包 @hernad/f18-node 使用教程

    前言 在前端开发过程中,我们经常会使用到各种第三方的依赖包,这些依赖包可以大大提高我们的开发效率。其中,npm 是前端常用的包管理工具,可以用来查找、安装、卸载、更新等操作。

    3 年前
  • npm 包 @jujorie/html-2-angularjs-plugin 使用教程

    在前端开发当中,经常需要将 HTML 页面整合入 AngularJS 项目中,以实现更高级的交互效果。然而,将 HTML 页面整合入 AngularJS 项目中并不是一件很简单的事,特别是对于新手开发...

    3 年前
  • npm 包 @kingjs/descriptor.scorch 使用教程

    介绍 @kingjs/descriptor.scorch 是一款用于对象描述符(descriptor)操作的 npm 包,提供了丰富的 API ,可以轻松的进行对象描述符的编辑操作。

    3 年前
  • npm 包 @kingjs/descriptor.write 使用教程

    npm 作为一个 JavaScript 包管理工具,为开发者提供了很好的便利。其中 @kingjs/descriptor.write 是一个非常实用的 npm 包,能够用于快速编写 JavaScrip...

    3 年前
  • npm 包 external-load 使用教程

    在 Web 开发中,前端开发不可避免的需要使用各种外部资源,如图片、字体、样式文件等等。在 Web 应用程序中,加载这些资源可以使用 HTML 的链接和脚本标记。 但是这并不能完全解决前端开发问题,一...

    3 年前
  • npm 包 rjs-calendar 使用教程

    rjs-calendar 是一个轻量级的 JavaScript 日历库,提供了丰富的功能和可定制性。它可以在 Web 应用程序中方便地添加日历功能,适用于多种应用场景。

    3 年前
  • npm 包 @mattkrick/event-source-polyfill 使用教程

    介绍 在前端开发过程中,我们有时需要对服务器端推送的数据进行处理,这就要用到 Server-Sent Event(SSE)技术。在浏览器端,我们可以使用 EventSource API 来与服务器端建...

    3 年前
  • npm 包 ipyiframe 使用教程

    背景 ipyiframe 是一个基于 Jupyter 的交互式开发环境,旨在为开发者提供更高效、更灵活的科学计算和数据分析工具。本文将介绍如何使用 npm 包 ipyiframe 构建一个可交互的前端...

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

    npm 是一个广受欢迎的 JavaScript 包管理器,它使得开发人员可以轻松地安装、更新和共享代码。在前端开发中,我们经常使用 npm 来管理项目依赖,并且可以发布自己的 npm 包使其他开发者可...

    3 年前
  • npm包poe-watch-api使用教程

    在前端开发中,我们通常会使用很多第三方库和工具来提高开发效率和增强应用功能。其中,npm作为js的包管理器,为我们提供了非常丰富和方便的包和工具库。今天,我们要介绍的是一个 非常实用的npm包:poe...

    3 年前
  • npm 包 vue-inline-styled 使用教程

    前言 在前端开发中,样式是不可或缺的部分。而在 Vue 项目中,我们常常使用 CSS modules 或者 scoped CSS 来处理样式的隔离和局部化。但在某些场景下,即便采用了这样的方式,还是会...

    3 年前
  • npm 包 padding-box 使用教程

    在前端开发中,经常需要对盒子进行样式调整,其中 padding 的设置是一个常见的操作。而 padding-box 是一个方便的 npm 包,可以帮助我们更好地管理盒子和内边距。

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

    简介 @auditless/cli 是一个快速创建 React 项目的命令行工具。它提供了一个可定制化的脚手架,帮助我们快速建立 React 项目,并且可以自定义项目结构、Webpack 配置等,旨在...

    3 年前

相关推荐

    暂无文章