【问题标题】:RobotFramework vs Protractor for AngularJS Testing [closed]用于 AngularJS 测试的 RobotFramework vs Protractor [关闭]
【发布时间】:2015-03-12 09:39:25
【问题描述】:

我正在尝试最终确定一个用于测试基于 AngularJS 的门户网站的工具。

我已经探索过 Protractor,并且非常确定将其用于 AngularJS 测试,直到团队中有人提出使用 Robot Framework 的建议。

所以,现在我需要比较 Protractor 和 Robot Framework。

Protractor 的优点是可以为 AngularJS 进行自定义。但是,我同意由于使用的术语和概念(Promises 和控制流),学习曲线不太平滑。

现在我需要了解用于 AngularJS 测试的机器人框架有多好。如果切换到机器人框架,会有什么关于量角器的遗漏吗?请提供您的宝贵意见。

  1. 学习曲线
  2. 可用的 IDE
  3. 易于自动化 AngularJS UI 测试
  4. 您认为重要的任何其他相关点!

【问题讨论】:

  • 您找到解决方案了吗?我们有类似的情况,我们需要在进行测试之前做出决定,以意识到这两个框架都不可能实现。

标签: angularjs protractor robotframework


【解决方案1】:

现在正处于这样的争论之中,我可以告诉你几件事:

  1. AngularJS 存在“加载”问题。 Protractor 通过为您提供 WaitForAngularToFinish 函数来解决该问题。您还可以从 Protractor 获得其他东西,例如 ByRepeatNG

  2. Robot Framework 的 UI 自动化是使用 Selenium 2 完成的,并且机器人库不包含 Angular 特定代码 (WaitForAngularToFinish)


目前我们正在尝试 Robot Framework 方式

我们通过利用 Java 库 ngWebDriver 解决了 Robot 中的问题

我们创建了一个基于 ngWebDriver 的新机器人库,该库具有自动装配功能(从机器人库中获取 Selenium2 驱动程序),它提供与 Protractor 相同的功能。

采用机器人方式的优点:

  1. Robot 框架让您可以做任何事情,而不仅仅是 UI。因此,您可以完全按照自己的意愿准备测试环境(在 Protractor 中更难)

  2. 英语。让非编码人员编写测试的能力(我们使用 Gherkin 表示法)。

  3. 稳定性(例如,关于 NPM 的一切本质上都是不稳定的)

采用机器人方式的缺点:

  1. Javascript 人员更难为测试编写底层代码(因为一些底层代码将使用 Java)

  2. 简单

关于您的其他问题:

  1. 学习曲线 - 在机器人和量角器上都很容易
  2. 可用的 IDE - 我正在为机器人框架使用 IntelliJ 插件。 IntelliJ 的企业版(要花很多钱)与 Protractor 作为 IDE 配合得很好。
  3. 易于自动化 AngularJS UI 测试 - 一旦你在 Robot 中有 Angular 关键字,你就很好了。在此之前,非常艰难。

【讨论】:

  • 感谢您的洞察力。这真的很有帮助。您是否考虑过使用 RobotFramework 实现 Python 自动化?
  • 并非如此。主要产品是Java。用户界面使用 JavaScript。如果我们想利用开发人员的专业知识,自动化框架需要对他们“可访问”。此外 - java 机器人框架允许用户运行它,无需任何安装(只有 Maven 和 Java - 任何开发人员已经拥有)
  • 嘿,Uri,你们是否正在考虑制作基于 ngWebDriver 并具有自动装配开源功能的新机器人库?
【解决方案2】:

Robot Framework 非常轻量级,学习曲线非常快,从我使用它的不同地方可以看出。在 IDE 方面,大多数都有插件(如果你已经有喜欢的 IDE,我不建议使用RIDE)。

要回答问题 3) 和 4),我想说这完全取决于您的组织和文化。如果 end-2-end 测试将​​由 Web App Angular 开发人员编写,那么最好坚持使用 Protractor,因为这一切都在 JavaScript 生态系统中。但是,如果您有一个单独的 QA 团队负责测试,他们可能确实会发现一些量角器/javascript 对于他们必须做的事情来说是复杂的/重量级的。由于 QA 的核心编码比开发人员少一点,我发现 Python 更合适、更容易。而在这种情况下,Robot Framework 是一个非常不错的选择。

猜你喜欢
  • 2018-08-20
  • 2015-12-26
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 2013-12-30
  • 1970-01-01
相关资源
最近更新 更多