用于测试AngularJS的量角器

nkkqxpd9  于 2022-11-21  发布在  Angular
关注(0)|答案(3)|浏览(157)

量角器是构建在WebDriverJS之上的Angular应用程序的端到端测试框架。
我是Web测试领域的新手,我正在试图弄清楚使用量角器而不是直接使用WebDriverJs的优点是什么。量角器的附加值是什么?

kyxcudwk

kyxcudwk1#

量角器的附加值是量角器知道Angular 。这有一些优势,如:

  • 您不必构建等待语句来等待Angular处理,因为量角器知道Angular何时仍然忙碌并等待它。
  • 您可以在诸如Angular 绑定、Angular 中继器等对象上添加额外的选择器。
5sxhfpxr

5sxhfpxr2#

“量角器”做了很多非常有用的事情。它们都是基于Edwin提出的想法。“量角器”知道你正在测试的应用是一个Angular应用,所以它知道你正在使用某些服务,所以它会加载这些服务并为你监视它们。
例如,在典型的端到端测试中(使用WebDriverJS或其他框架)您需要等待/休眠很多次。您单击一个需要 AJAX 请求的按钮,然后必须休眠3-4秒以等待Ajax调用返回。在Angular中,所有 AJAX 请求都(或者应该)使用$http模块完成。当您的请求处于挂起状态并且页面正在呈现时,量角器会监视$http模块并自动为您添加睡眠。因此,您不必再猜测请求需要多长时间,也不必担心由于请求时间过长而导致测试失败。
它还允许您根据输入的ng-model或页面上的{{bindings}}ng-repeat元素来查找元素,以便您可以轻松快速地找到要测试的元素。
Julie实际上解释了为什么她在this video中使用WebDriver开发了量角器,她在问答环节的最后回答了这个问题(尽管视频的质量相当粗糙,所以看起来很烦人)。

9njqaruj

9njqaruj3#

如果一个应用程序是在AngularJS上开发的,使用量角器来测试它将是一个好处。
这是因为,

  • 量角器是AngularJS应用程序的端到端测试框架,是解决方案集成商,它结合了Node.js、Selenium、webDriver、JasmineCucumberMocha等强大的工具和技术。
  • 它有一堆来自Selenium的定制,可以轻松地为AngularJS应用程序创建测试。
  • 量角器还可以加快测试速度,因为它可以优化睡眠和等待时间,避免测试中大量的“睡眠”和“等待”。
  • 量角器允许基于Jasmine组织测试,因此允许在Jasmine上编写单元和功能测试。
  • 它可以在真实的的浏览器和无头浏览器上运行。
  • 允许运行以远程地址为目标的测试

我们AngularJS也有自己的定位器,如模型,中继器,绑定,可以很容易地理解量角器来识别对象。
结论
量角器很简洁--我们认为它是从Selenium Webdriver for JavaScript的一个非常有用的演变。
它并不局限于测试AngularJS应用程序--尽管这两个应用程序通常是一起提到的。然而--它主要是为Angular设计的,至少目前还需要做一些工作,才能在非Angular 页面上使用它。
如果您打算逐步将您的网站/应用迁移到Angular -您可以立即开始编写您的量角器E2 E测试。

相关问题