在每个Web运用程序中,作为用户直接可见的运用程序外不雅观,“前端”包括:图形化的用户界面、相应的功能、及其整体站点的可用性。我们可以绝不夸年夜地说:如果前端无法正常事情,您将无法“拉新”网站的潜在用户。这也正是我们须要对Web运用实行前端测试的主要缘故原由。
为了确保Web运用无论发生了何种变更之后,其对应的前端都能够与bug“隔离”,我们须要针对前端开展各种测试,紧张包括:测试运用程序的基本功能、用户的界面和整体的可用性。此外,如下成分也是驱动我们进行测试的其他方面:
由于前端测试每每会涉及到上述方方面面,而且时常会让测试职员面临各种新的寻衅,因此他们须要借助专门的测试工具和框架来提高效率。在本文中,我们将和您谈论九种能够加快测试进程的前端测试工具与框架。

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等其他类型的框架。如果您有韶光,可以通过试用来挑选出最适宜自己手头项目的测试工具。
作者:Nikhil Tyagi;陈峻编译;原文标题:Tools and Frameworks for Faster Front End Testing