Protractor 是构建在 WebDriverJS 之上的 Angular 应用程序的端到端测试框架。
我是 Web 测试领域的新手,我试图弄清楚使用量角器而不是直接使用 WebDriverJs 有什么好处。量角器的附加值是多少?
Protractor 是构建在 WebDriverJS 之上的 Angular 应用程序的端到端测试框架。
我是 Web 测试领域的新手,我试图弄清楚使用量角器而不是直接使用 WebDriverJs 有什么好处。量角器的附加值是多少?
Protractor 做了很多非常有用的事情。它们都基于@Edwin 提出的想法。Protractor 知道您正在测试的应用程序是 Angular 应用程序,因此它知道您正在使用某些服务,因此它实际上会加载这些服务并为您监视它们。
例如,在典型的端到端测试(使用 WebDriverJS 或其他框架)中,您有很多等待/睡眠。您单击一个需要 AJAX 请求的按钮,然后您必须进入 3-4 秒的睡眠状态以等待该 AJAX 调用返回。好吧,在 Angular 中,所有 ajax 请求都(或应该)使用$http
模块完成。Protractor 监视$http
模块并在您的请求待处理且页面正在呈现时自动为您添加睡眠。因此,您不再需要猜测请求将花费多长时间,然后您不必担心您的测试会因为请求花费的时间太长而失败。
它还允许您根据输入ng-model
或{{bindings}}
页面或ng-repeat
元素等内容查找元素,以便您可以轻松快速地找到要测试的元素。
Julie 实际上解释了为什么她在此视频中开发 Protractor 而不是使用 WebDriver,并且她在问答环节的最后回答了这个问题(尽管视频的质量非常粗糙,因此观看起来可能很烦人)。我希望这会有所帮助。
Protractor 的附加价值是 Protractor 了解 Angular。这有一些优点,例如:
如果应用程序是在 AngularJS 上开发的,使用 Protractor 对其进行测试将是一个好处。
这是因为,
Protractor 是 AngularJS 应用程序的端到端测试框架,作为解决方案集成商工作 - 结合了强大的工具和技术,如 NodeJS、Selenium、webDriver、Jasmine、Cucumber 和 Mocha。
它有一系列来自 Selenium 的定制,可以轻松地为 AngularJS 应用程序创建测试。
Protractor 还加快了测试速度,因为它可以优化睡眠和等待时间,因为它避免了测试中大量“睡眠”和“等待”的需要。
Protractor 允许基于 Jasmine 组织测试,因此允许在 Jasmine 上编写单元测试和功能测试。
它在真实浏览器和无头浏览器上运行。
允许运行针对远程地址的测试
而且我们Anjular js有自己的定位器,像模型,中继器,绑定,可以很容易地被量角器理解来识别对象
Protractor 很简洁——我们认为它是 Selenium Webdriver for JavaScript 的一个非常有用的演变。
它不仅限于测试 AngularJS 应用程序——尽管这两个应用程序通常一起提到。但是 - 它主要是为 Angular 设计的,至少目前需要做一些工作才能在非 Angular 页面上使用它。
如果您打算逐步将您的网站/应用程序迁移到 Angular - 您可以立即开始编写 Protractor E2E 测试。