2015-01-14 11 views
12

Ich versuche, ein Tool zum Testen AngularJS-basierten Web-Portal finalisieren.RobotFramework vs Winkelmesser für AngularJS-Test

Ich habe den Winkelmesser untersucht und war mir sicher, ihn für AngularJS-Tests zu verwenden, bis jemand aus dem Team einen Vorschlag für die Verwendung von RobotFramework machte.

Also, jetzt muss ich Winkelmesser mit RobotFramework vergleichen.

Der Winkelmesser hat den Vorteil, dass Anpassungen für AngularJS verfügbar sind. Ich stimme jedoch zu, dass die Lernkurve aufgrund der verwendeten Terminologie und Konzepte (Promises, Control Flow) nicht zu glatt ist.

Nun muss ich verstehen, wie gut RobotFramework für AngularJS-Tests ist. Gibt es etwas, was man in Bezug auf Winkelmesser übersehen würde, wenn man zu RobotFramework wechseln würde? Bitte geben Sie Ihre wertvollen Eingaben für das gleiche an.
1. Learning Curve
2. IDEs verfügbar
3. Einfache AngularJS UI von Tests automatisieren
4. Jede andere relevante Punkte, die Sie fühlen sich wichtig sind!

Grüße,
Sakshi

+0

Haben Sie schon eine Lösung dafür gefunden? Wir haben eine ähnliche Situation und wir müssen uns entscheiden, bevor wir zu weit in unsere Tests gehen, um zu erkennen, dass etwas von keinem der Frameworks möglich ist. – Abhi

Antwort

4

Robot Framework recht leicht ist und Lernkurve ist ziemlich schnell von dem, was ich in den verschiedenen Orten sehen konnte ich es benutzt. In Bezug auf IDEs gibt es für die meisten von ihnen ein Plugin (ich würde nicht empfehlen, RIDE zu verwenden, wenn Sie bereits eine bevorzugte IDE haben).

Um Frage 3) und 4) zu beantworten, würde ich sagen, dass alles von Ihrer Organisation und Kultur abhängt. Wenn die End-2-End-Tests von dem Web App Angular-Entwickler geschrieben werden, dann ist es wahrscheinlich besser, mit Protractor zu bleiben, da dies alles im JavaScript-Ökosystem ist. Aber wenn Sie ein separates Team von QA haben, die für das Testen verantwortlich ist, könnten sie in der Tat einige der Winkelmesser/Javascript als komplex/Schwergewicht für das, was sie tun müssen, zu finden. Mit QA, die ein bisschen weniger hard-Core-Coder als Entwickler sind, finde ich, dass Python passender und einfacher ist. Und in diesem Fall ist Robot Framework eine sehr gute Wahl.

+0

Haben Sie ausgecheckt: * https://pypi.python.org/pypi/robotframework-angularjs/ * https://github.com/rickypc/robotframework-extendedselenium2library * https: //rickypc.github. io/robotframework-extendedselenium2library/doc/ExtendedSelenium2Library.html –

6

Als in der Mitte genau solche Debatte gerade jetzt, kann ich Ihnen ein paar Dinge sagen:

  1. AngularJS hat eine „Belastung“ -Ausgabe. Der Winkelmesser löst dieses Problem, indem er Ihnen die Funktion WaitForAngularToFinish gibt. Sie erhalten auch andere Dinge von Protractor wie ByRepeatNG

  2. Automatisieren UI von Robot Framework erfolgt über Selen 2, und der Roboter-Bibliothek enthält keine Angular spezifischen Code (WaitForAngularToFinish)


Denn jetzt versuchen wir, das Robot Framework Weg

wir haben das Problem in Roboter durch Antippen in die Java-Bibliothek ngWebDriver

wir haben ein geschaffenes gelöst neue Roboterbibliothek basierend auf ngWebDriver mit Autowinding (um den Selenium2-Treiber aus der Roboterbibliothek zu holen), der die gleiche Funktionalität wie der Winkelmesser bietet.

Pros zu gehen, den Roboter so:

  1. Roboter Framwork gibt Ihnen die Möglichkeit, alles zu tun, nicht nur UI. So können Sie die Testumgebung genau so vorbereiten, wie Sie es möchten (viel schwieriger in Gradmesser).

  2. Englisch. Die Möglichkeit, Nicht-Coder Tests schreiben zu lassen (Wir verwenden die Gherkin-Notation).

  3. Stabilität (alles über NPM zum Beispiel ist von Natur aus instabil)

Cons zu gehen, den Roboter so:

  1. Härtere für die Javascript Menschen für die Tests zugrunde liegenden Code zu schreiben (Da ein Teil des zugrunde liegenden Codes in Java liegt)

  2. Einfachheit

Bezüglich Sie weitere Fragen:

  1. Learning Curve - einfach auf beiden Roboter und Protractor
  2. IDEs verfügbar - ich bin für Robot Framework ein Plugin für IntelliJ verwenden. Die Enterprise-Version von IntelliJ (die eine Menge Geld kostet) funktioniert mit dem Protractor als IDE sehr gut.
  3. Einfache Automatisierung von AngularJS UI-Tests - Sobald Sie Angular Keywords in Robot haben, sind Sie gut. Davor sehr schwer.
+0

Vielen Dank für Ihre Einsicht. Das ist sehr hilfreich. Haben Sie Python für die Automatisierung mit RobotFramework in Betracht gezogen? –

+0

Nicht wirklich. Das Hauptprodukt ist in Java. Die Benutzeroberfläche ist in JavaScript. Wenn wir das Know-how der Entwickler nutzen wollen, muss ihnen das Automatisierungs-Framework "zugänglich" sein. Darüber hinaus - das Java-Roboter-Framework erlaubt Benutzern, es ohne jegliche Installation (nur Maven und Java - die jeder Entwickler bereits hat) auszuführen. –

+0

Hey Uri, denkt ihr darüber nach, die neue Roboter-Bibliothek basierend auf ngWebDriver mit Autowire Open Source zu erstellen? –

Verwandte Themen