您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > javascript

2019年最流行的五大JavaScript 自动化测试框架

时间:2019-08-28 14:19:53  来源:  作者:

我们正在迈向自动化时代。每一家公司,无论是初创企业还是大型企业,都在努力尽可能高效地将自动化测试纳入其发布周期。原因很简单,因为自动化测试大大减少了验证重复测试场景的工作量。而JAVAScript不再被称为只面向开发人员的编程语言。随着自动化测试需求的增加,JavaScript测试框架已经开始广泛使用,一些用于单元测试,而另一些是为E2E(端到端)测试而设计的。

所以全球的自动化测试人员都非常喜欢这些JavaScript自动化测试框架。卓码总结了目前最流行的五种实用的Java自动化测试框架分享给大家!

1、Jest

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

被stateofjs调查评为2018年度JavaScript自动化测试框架第一名。Jest由Facebook开发,用于测试JavaScript代码,尤其是使用React JS开发的应用程序。

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

安装的先决条件

Jest的特别之处在于,它提供了一个不需要任何配置经验的集成框架。这个工具已经可以使用了,如果用户正在使用npm,用户可以通过运行以下命令立即设置它。

Jest的优点和缺点

首先是优点:

(1)使用Jest的最大好处是最小配置和设置的开箱即用体验,因为它附带了一个mock支持断言库。与任何新的测试库一样,测试用例是使用行为驱动的开发方法编写的。用户可以将用户的测试用例放在一个名为_tests_的文件夹中,并开始运行它们。

(2)Jest被认为是一个有很好文档的、快速执行的JavaScript测试框架。

(3)Jest提供了一种健壮的开发人员工具,代码更不容易出错。

该框架还可以通过捕获屏幕截图来执行可视化回归测试。当使用React JS开发应用程序时,该特性对于防止意外导致的UI bug非常方便。它的工作原理是记录呈现组件的屏幕快照,然后与将来呈现的组件进行比较。如果添加了任何新功能,屏幕截图都可以轻松更新。

Jest的缺点:

(1)与Jasmine这样的框架相比,它不支持太多的库或工具,这些库或工具有时对于在不支持Jest的ide中调试测试用例非常方便。

(2)那些对Jest感到不自在的人表示,学习的过程相当艰难。

(3)使用Jest进行快照测试对于较大的快照文件不太可行。

2、Mocha

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

Mocha是一个基于javascript的自动化测试框架,用于测试使用Node.js运行的应用程序。Mocha被评为2018年stateofjs survey JavaScript自动化测试框架第二名。

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

安装的先决条件

安装非常简单,用户只需要一个工作站,并使用以下命令安装Mocha。

要进行全局安装,请运行以下命令:

npm i -全球摩卡。

如果用户想安装mocha作为开发的依赖项,可以运行npm i -save-dev mocha。

Mocha的优缺点:

首先是优点:

开发人员和测试人员喜欢摩卡有很多原因。

(1)该应用程序是开源的,并且允许灵活性;

(2)它可以很容易地支持生成器;

(3)由于它是旧的,许多教程和文档都可以在网上找;

(4)使用灵活的报告顺序执行测试用例;

(5)Mocha帮助您轻松地将异常映射到相关的测试用例。

Mocha的缺点:

(1)使用开发人员工具,Mocha可以做得更好;

(2)随着Jest的出现,摩卡在测试人员社区中的受欢迎程度显著下降;

(3)摩卡可以在整体性能和机上功能方面做得更好。

3、Jasmine

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

Jasmine,主要用于异步测试,是一个功能丰富的JavaScript自动化测试框架。应用程序运行在Node.js上,通过连续运行测试用例,允许准确和灵活的bug报告。根据2018年的stateofjs, Jasmine在JavaScript测试框架中排名第三。

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

安装的先决条件

Jasmine的安装非常简单。你只需要一个能连接互联网的工作站。在cmd/终端中运行以下命令安装Jasmine。

但是,配置比Jest稍微复杂一些。在运行测试用例之前,用户必须设置并配置test.js文件。

Jasmine的优点和缺点

首先是优点:

(1)Jasmine最大的优点是它可以兼容你选择的所有框架或库,这使它成为最灵活的JavaScript测试框架之一。无论用户想要使用Sinon来模拟或者Chai来断言测试用例,Jasmine都将毫无困难地帮助用户。

(2)Jasmine的社区非常大,用户将获得各种各样的支持,包括库、博客文章或视频教程。

(3)随着社区的扩大,Jasmine的学习曲线非常平滑。用户也会得到令人印象深刻的文档。

提供优雅的编程风格和模式。

Jasmine的缺点:

(1)Jasmine需要很多配置。在使用mock框架或断言库之前,用户必须显式地选择它。如果用户的项目需要这种灵活性,那么它可能很有用。如果没有,配置过程可能有点令人沮丧。

(2)Jasmine通过使用Jasmine -snapshot库支持快照测试。然而,集成它可能有点困难。

jest的流行导致Jasmine的受欢迎程度下降。

4、Nightwatch

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

对于自动化的网络应用程序测试,尤其是使用Node.js开发的应用程序,守夜人是一个强大的自动化框架,它使用Selenium WebDriver API,允许用户执行端到端测试。守夜人的主要目标是简化编写自动化测试用例的过程,并帮助在用户的开发周期中建立持续的集成。

安装的先决条件

因为Nightwatch是用来测试Node.js应用程序的,所以用户的工作站应该安装了Node.js的最新稳定版本。另外,安装npm,因为它是安装框架所必需的。

为了在本地运行框架,用户还需要一个独立的Selenium服务器和WebDriver API。这将帮助用户使用Firefox或Chrome在本地测试应用程序。

Nightwatch的优点和缺点

首先是优点:

(1)首先,设置非常简单。

(2)用户只需要导入Selenium库。

(3)这个社区相当大,如果你需要任何关于设置或编写测试用例的帮助,可以(4)通过博客和教程的形式获得很多资源。

(5)语言非常简单。你只需要一点面向对象编程的基础知识。

如果测试人员属于一个Java团队,后端团队成员可以轻松获取知识,并帮助测试人员编写自动化测试用例,从而提高团队的整体生产力。

Nightwatch的缺点:

(1)测试用例不像其他框架那样容易阅读。语法不清楚,用户也不可能对每一步都写清楚描述。用户可以以注释的形式来完成它,但是如果任何测试用例失败,它将都不会显示在日志中。

(2)虽然用户可以为每一步添加一条清晰的错误消息,但要找出哪里出错了,还是会比较困难。

5. Puppeteer(Library)

2019年最流行的五大JavaScript 自动化测试框架

图源网络:侵删

Puppeteer是另一个基于Node.js的自动化测试库,它提供了一个帮助用户通过覆盖标准开发工具协议来控制铬的API。许多可以在浏览器中手动完成的场景可以在木偶师的帮助下自动完成

安装的先决条件

Puppeteer将要求用户的工作站拥有最新版本的Chrome和Chromium。用户还需要在系统中安装纱线或npm。js也是必须的,因为这个框架是用来测试基于Node.js的web应用程序的。

Puppetee的优点和缺点

首先是优点:

(1)使用操纵器编写的自动化脚本覆盖了开发工具协议应用编程接口。调用一个应用编程接口将会自动完成,而不是手工制作网络套接字负载

(2)推出chrome

(3)在浏览器中打开一个新标签

(4)导航到所需的测试站点。

(5)捕捉截图并关闭浏览器。

Puppeteer允许用户模拟资源,从而避免了可靠性、一致性和速度的问题。用户可以操作外部资源,比如css选择器,以使用户的特定测试用例执行得更快。

Puppetee的缺点:

(1)Puppeteer最大的缺点是只能在Chrome上运行。如果用户的项目要求应用程序是跨浏览器兼容的,那么用户将不得不依赖于NightWatch或其他框架来跨其他浏览器测试应用程序。

(2)如果用户的项目要求应用程序跨浏览器兼容,用户将不得不依靠NightWatch或其他框架来测试跨其他浏览器的应用程序。

卓码列出了用于测试特定的基于web应用程序的框架的框架,以及用于自动化测试任何基于javascript的web应用程序的通用应用程序。大家可以根据自身的需求选择适合的测试框架。

更多测试动态请关注卓码测评



Tags:JavaScript 测试框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
我们正在迈向自动化时代。每一家公司,无论是初创企业还是大型企业,都在努力尽可能高效地将自动化测试纳入其发布周期。原因很简单,因为自动化测试大大减少了验证重复测试场景的...【详细内容】
2019-08-28  Tags: JavaScript 测试框架  点击:(246)  评论:(0)  加入收藏
▌简易百科推荐
1、通过条件判断给变量赋值布尔值的正确姿势// badif (a === 'a') { b = true} else { b = false}// goodb = a === 'a'2、在if中判断数组长度不为零...【详细内容】
2021-12-24  Mason程    Tags:JavaScript   点击:(6)  评论:(0)  加入收藏
给新手朋友分享我收藏的前端必备javascript已经写好的封装好的方法函数,直接可用。方法函数总计:41个;以下给大家介绍有35个,需要整体文档的朋友私信我,1、输入一个值,将其返回数...【详细内容】
2021-12-15  未来讲IT    Tags:JavaScript   点击:(20)  评论:(0)  加入收藏
1. 检测一个对象是不是纯对象,检测数据类型// 检测数据类型的方法封装(function () { var getProto = Object.getPrototypeOf; // 获取实列的原型对象。 var class2type =...【详细内容】
2021-12-08  前端明明    Tags:js   点击:(23)  评论:(0)  加入收藏
作者:一川来源:前端万有引力 1 写在前面Javascript中的apply、call、bind方法是前端代码开发中相当重要的概念,并且与this的指向密切相关。本篇文章我们将深入探讨这个关键词的...【详细内容】
2021-12-06  Nodejs开发    Tags:Javascript   点击:(19)  评论:(0)  加入收藏
概述DOM全称Document Object Model,即文档对象模型。是HTML和XML文档的编程接口,DOM将文档(HTML或XML)描绘成一个多节点构成的结构。使用JavaScript可以改变文档的结构、样式和...【详细内容】
2021-11-16  海人为记    Tags:DOM模型   点击:(35)  评论:(0)  加入收藏
入口函数 /*js加载完成事件*/ window.onload=function(){ console.log("页面和资源完全加载完毕"); } /*jQuery的ready函数*/ $(document).ready(function(){ co...【详细内容】
2021-11-12  codercyh的开发日记    Tags:jQuery   点击:(36)  评论:(0)  加入收藏
一、判断是否IE浏览器(支持判断IE11与edge)function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isIE = userAgent.indexOf("comp...【详细内容】
2021-11-02  V面包V    Tags:Javascript   点击:(40)  评论:(0)  加入收藏
Null、Undefined、空检查普通写法: if (username1 !== null || username1 !== undefined || username1 !== '') { let username = username1; }优化后...【详细内容】
2021-10-28  前端掘金    Tags:JavaScript   点击:(51)  评论:(0)  加入收藏
今天我们将尝试下花 1 分钟的时间简单地了解下什么是 JS 代理对象(proxies)?我们可以这样理解,JS 代理就相当于在对象的外层加了一层拦截,在拦截方法里我们可以自定义一些个性化...【详细内容】
2021-10-18  前端达人    Tags:JS   点击:(51)  评论:(0)  加入收藏
带有多个条件的 if 语句把多个值放在一个数组中,然后调用数组的 includes 方法。// bad if (x === "abc" || x === "def" || x === "ghi" || x === "jkl") { //logic } // be...【详细内容】
2021-09-27  羲和时代    Tags:JS   点击:(58)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条