九大高效的前端测试工具与框架

更新日期: 2019-10-14阅读: 2.5k标签: 测试

在每个Web应用程序中,作为用户直接可见的应用程序外观,“前端”包括:图形化的用户界面、相应的功能、及其整体站点的可用性。我们可以毫不夸张地说:如果前端无法正常工作,您将无法“拉新”网站的潜在用户。这也正是我们需要对Web应用执行前端测试的重要原因。

为了确保Web应用无论发生了何种变更之后,其对应的前端都能够与bug“隔离”,我们需要针对前端开展各种测试,主要包括:测试应用程序的基本功能、用户的界面和整体的可用性。此外,如下因素也是驱动我们进行测试的其他方面:

  • 开发人员对于JavaScript文件的变更,通常会导致前端无法正常工作。
  • 哪怕是对css进行少量的修改,也可能破坏前端的外观布局,因此我们需要开展CSS回归测试。
  • 应当针对代码的变更,进行运行性能方面的检查。

由于前端测试往往会涉及到上述方方面面,而且时常会让测试人员面临各种新的挑战,因此他们需要借助专门的测试工具框架来提高效率。在本文中,我们将和您讨论九种能够加快测试进程的前端测试工具与框架。


1. Jasmine( https://jasmine.github.io/ )

Jasmine是angular建议开发人员广泛使用的、最为流行的前端测试框架之一。它是一个行为驱动的开发框架,可被用于测试各种JavaScript代码。作为一款最为古老的框架,它不但拥有广泛的社区支持与资源,而且能够通过简洁的语法,帮助开发人员快速地编写出不同的测试代码。而且,由于并不依赖于任何其他的JavaScript框架,因此用户完全可以通过Jasmine框架,轻松且快速地执行各类场景下的前端测试。


2. LambdaTest( https://www.lambdatest.com/ )

浏览器测试是Web应用测试的重要组成部分之一。它可确保程序在各种浏览器、操作系统、以及设备上的功能实现和兼容性。不过,相对于手动测试,测试人员往往会用到LambdaTest之类的快速自动化跨浏览器测试工具。LambdaTest能够为2000多种浏览器和不同的Web应用操作系统的组合提供支持,因此测试人员可以在单独的系统上对自己的Web应用执行多种测试。

此外,它的配置并不复杂,您只需要输入目标站点的URL,然后在其中选择特定的浏览器、以及对应的操作系统即可。此外,它还具有诸如:实时测试、屏幕截图测试、以及针对Chrome扩展程序、和WordPress插件的外部记录和播放等功能。


3.Jest( https://jestjs.io/ )

倍受Jasmine启发的JavaScript测试框架--Jest,是由经验丰富的Facebook团队开发和维护的。作为Github上排名第一的测试框架,它拥有22,000颗星。Jest在开发人群中广受欢迎的主要原因,得益于它的易用性和无需配置这一属性。

除此之外,Jest具有简洁清晰的用户界面,以及高效的加载性能。在默认情况下,它能够与探查(spying)及模拟(mocking)程序一起,构建出与测试相关的全局变量。同时,它还提供快照式的测试,并能够使用内置的测试覆盖率工具来进行传输。因此,对于想快速上手前端测试的初学者来说,Jest框架是他们的首选。


4. Selenium( https://dzone.com/articles/comparing-top-10-cross-browser-testing-tools-in-20 )

作为一种被广泛使用的开源式前端测试工具,Selenium能够在包括Mac、Linux、以及Windows在内的多个平台与浏览器上,对Web应用程序进行端到端的测试。事实上,它是一个由四个不同的框架所组成的测试套件,其中包括最常被用到的Selenium IDE和Selenium WebDriver。由于支持几乎所有当前流行的编程语言,因此它允许测试人员以Java、php、或C#等不同的语言来编写测试脚本。

Selenium具有简洁直观的界面,能够让测试人员更快速地开展测试工作,并提供一定的测试兼容性。另外,作为一款免费工具,它还提供了比某些付费框架更为优秀的功能,例如:用户无需学习Selenium IDE,便可直接使用其测试的记录和回放功能。


5. Karma( https://karma-runner.github.io/ )

如果您正在寻找最适合在浏览器、或类似浏览器的环境中运行测试框架,那么Karma便是您的理想选择。作为一种通用的用例式前端测试框架,Karma受到了前端测试人员的普遍欢迎。同时,它能够为诸如Jenkins和Travis之类的集成框架,提供24/7的技术支持。

使用Karma框架,您甚至可以在真实的设备、或Headless PhantomJS(译者注:一个基于Webkit的Javascript api)实例上运行测试。更实用的是,如果您使用Karma作为测试框架,那么完全可以使用下面将要提到的Mocha或上述Jasmine,来描述自己的测试。当然,您也可以选择从终端、IDE或使用LambdaTest之类的服务,来远程运行各项测试。


6. Mocha( http://mochajs.org/index.html )

作为一款在当前前端测试市场举足轻重的框架,Mocha能够与模拟程序、第三方断言、以及chai和enzyme之类的探查工具相集成。除了拥有庞大的社区网络之外,Mocha还能够提供完善的功能选项和完备的文档资料。

由于能够与多种扩展程序协同使用,因此Mocha具有较高的兼容性与灵活性。目前,尽管有一些用户已经着手从Mocha向Jest迁移,但是其庞大的社区资源,以及丰富的外部用例资源,仍然让其成为名副其实的常用测试工具之一。


7. Needle( https://needle.readthedocs.io/ )

专用于CSS测试的Needle,可以确保目标Web应用的各种视觉元素(如字体、CSS、图像),能够在规定的屏幕尺寸和各种设备上正常显示。通过获取用户网站某些部分的当前屏幕截图,它能够将其与开发者预期的正常屏幕显示效果进行比较,进而分析Web应用的各项功能。此外,测试人员还可以用它来评估CSS值和html元素的位置。


8. QUnit( https://qunitjs.com/ )

QUnit是一种针对JavaScript应用程序的单元测试框架。它最初只是为测试jquery、jQuery UI和jQuery Mobile而开发的。不过,后来测试人员经常用它来测试包含有JavaScript代码的前端框架。与Junit等其他单元测试框架类似,QUnit不但能够对Web浏览器和其他客户端环境提供支持,而且能够通过JavaScript的相关功能,协助测试人员在浏览器中测试代码的异常处理等能力。


9. YSlow( http://yslow.org/ )

作为一款专业化的工具,YSlow能够以可视化的方式测试Web应用的相关性能。它通过评估页面上所有必需的组件(包括JavaScript等组件),来检查Web应用的运行效率。除了能够协助测试人员衡量页面的综合性能,YSlow还能够为他们提供各种有价值的建议。


结论

众所周知,Web应用的外观和功能会对企业网站的访问量产生重大的影响。一旦出现了某些组件的缺失、甚至是不兼容的现象,用户很难会有意愿再次造访该网站。因此,我们需要通过大量的测试,去尽可能多地覆盖网站前端所涉及到的各种元素。除了上述向您介绍到的各种流行的测试框架和工具之外,业界还有诸如AVA、CypressChai、以及Test Cafe等其他类型的框架。如果您有时间,可以通过试用来挑选出最适合自己手头项目的测试工具。

原文标题:Tools and Frameworks for Faster Front End Testing,作者:Nikhil Tyagi


链接: https://fly63.com/article/detial/6438

测试工具比较:选Jest,不选Mocha

Jest的未来看起来非常令人激动!看到Jest推陈出新如此快速,我感觉它将很快成为整个React生态系统中大部分项目的首选工具。我建议,应该把测试迁移到Jest上去。

你需要了解的前端测试“金字塔”

如果您正在测试前端应用程序,则应该了解前端测试金字塔。在本文中,我们将看到前端测试金字塔是什么,以及如何使用它来创建全面的测试套件。

web网页性能测试工具都有哪些

作为前端开发,我们不仅需要满足产品需求功能的实现,同时也需要对自己做的网站进行安全、易用性、性能等方面的考虑。随着目前技术不断进步,web页面的性能测试工具也在不断完善,通过这些工具,我们可以客观的评价web网站的质量水平。

js单元测试工具-jest自动化测试

jest 是 facebook 开源的,用来进行单元测试的框架,可以测试 javascipt 和 react。jest 提供了非常方便的 API,可以对下面的场景方便的测试:一般函数、异步函数、测试的生命周期、react 测试

web测试要点、方法_web端测试大全总结

web测试大全,测试web网站有哪些点呢?主要包括:功能测试、兼容性测试、安全测试、输入框测试、用户权限测试等

前端性能测试工具整理简介_性能测试工具都有哪些?

前端性能测试工具都有哪些:Favicon、Open Graph、图片优化-压缩图像、CSS 优化-Autoprefixer、Purifycss、minify CSS、减少载入时间、GZIP、CDN、优化平台-Sentry、Google Tag Manager

不用写代码,也能做好接口测试

本文你将了解到:1、接口测试基本概念,包含什么是接口,什么是接口测试,为什么要做接口测试;2、接口测试用例设计,3、怎样不用写代码,也能快速的根据开发的API文档完成接口自动化测试脚本

Selenium打开浏览器加载慢的原因

在自动化元素定位操作中经常使用智能等待来加强定位的强壮性,主要就是因为WebDriver没有提供页面加载场景的方法;在使用JavaScript知识的突然心生灵感,可以使用JavaScript来配合验证页面加载,结果发现我真是井底之蛙。

power assert_更智能、优雅的全方位 assert 断言库

在写测试代码时,以往我们需要翻阅文档,学习各种 API 才能明白如何操作断言。而现在我们可以透过 power-assert 的 assert 方法来减轻调试压力。不仅如此,它还提供更加直观,具体的运行效果,帮助 DEBUG。写测试代码,其实可以很容易。

常用的web网站负载/压力/性能测试工具

在网站上线发布之前,我们除了必要的安全、功能测试外,往往还需要进行压力测试。通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件。包括:Apache JMeter 、LoadRunner、NeoLoad等

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!