【问题标题】:protractor for testing angularjs用于测试 angularjs 的量角器
【发布时间】:2013-10-27 20:17:28
【问题描述】:

Protractor 是构建在 WebDriverJS 之上的 Angular 应用程序的端到端测试框架。

我是网络测试领域的新手,我想弄清楚使用量角器有什么好处,而不是直接使用 WebDriverJs。量角器的附加值是多少?

【问题讨论】:

    标签: javascript angularjs selenium-webdriver protractor


    【解决方案1】:

    protractor 的附加值是 Protractor 了解 Angular。这有一些优点,例如:

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

    【讨论】:

      【解决方案2】:

      Protractor 做了很多非常有用的事情。它们都基于@Edwin 提出的想法。 Protractor 知道您正在测试的应用程序是一个 Angular 应用程序,因此它知道您正在使用某些服务,因此它实际上会加载这些服务并为您监视它们。

      例如,在典型的端到端测试(使用 WebDriverJS 或其他框架)中,您有很多等待/休眠。您单击一个需要 AJAX 请求的按钮,然后您必须进入 3-4 秒的睡眠状态以等待该 AJAX 调用返回。好吧,在 Angular 中,所有 ajax 请求都(或应该)使用 $http 模块完成。 Protractor 监视$http 模块并在您的请求未决且页面正在呈现时自动为您添加睡眠。因此,您不必再猜测请求需要多长时间,也不必担心测试会因为请求时间过长而失败。

      它还允许您根据输入的ng-model 或页面上的{{bindings}} 或ng-repeat 元素来查找元素,以便您可以轻松快速地找到要测试的元素。

      Julie 实际上在this video 中解释了为什么她开发 Protractor 而不是使用 WebDriver,并且她在问答环节最后回答了这个问题(尽管视频的质量非常粗糙,所以观看起来可能很烦人)。我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        如果应用程序是在 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 测试。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多