用于AngularJS测试的RobotFramework与量角器

Sak*_*gla 15 robotframework angularjs protractor

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

我已经探索过Protractor并且非常肯定将它用于AngularJS测试,直到团队中的某个人提出使用Robot Framework的建议.

那么,现在我需要将Protractor与Robot Framework进行比较.

量角器具有为AngularJS提供自定义的优势.但是,我同意由于使用的术语和概念(Promises和Control Flow),学习曲线不太顺畅.

现在我需要了解AngularJS测试的Robot Framework有多好.如果切换到机器人框架,有什么可以错过关于量角器的吗?请提供相同的宝贵意见.

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

Uri*_*and 8

现在正处于这种争论的中间,我可以告诉你一些事情:

  1. AngularJS有一个"加载"问题.量角器通过为您提供WaitForAngularToFinish函数来解决该问题.你也可以从Protractor获得其他东西,比如ByRepeatNG

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


现在我们正在尝试机器人框架方式

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

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

采用机器人方式的优点:

  1. Robot Framwork让您能够完成所有事情,而不仅仅是UI.因此,您可以完全按照自己的意愿准备测试环境(在Protractor中更难做到)

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

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

走向机器人的方式:

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

  2. 简单

关于你的其他问题:

  1. 学习曲线 - 机器人和量角器都很容易
  2. IDE可用 - 我正在使用IntelliJ for Robot Framework的插件.IntelliJ的企业版(花费很多钱)与Protractor作为IDE非常有效.
  3. 易于自动化AngularJS UI测试 - 一旦你在Robot中拥有Angular关键字,你就会很好.在那之前,非常努力.


Lau*_*iel 6

机器人框架非常轻巧,学习曲线从我在其使用的不同地方看到的速度非常快.在IDE方面,大多数都有插件(如果你已经有一个喜欢的IDE,我不推荐使用RIDE).

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