Verwende Winkelmesser mit Java

8

Ich möchte Protractor auf Java und nicht auf Node.js verwenden. Ist es möglich, den Winkelmesser mit Java oder Python zu verwenden? Wir möchten keine weitere Technologie zum Testen hinzufügen und möchten bestehende Technologien nutzen.

    
user3762901 01.05.2015, 07:37
quelle

6 Antworten

8

Leider haben Sie keine große Auswahl, da Protractor ein JavaScript-Testframework für AngularJS ist und über Node.js verteilt wird.

  

Wir möchten keine andere Technologie zum Testen hinzufügen und möchten bestehende Technologien nutzen.

Der Winkelmesser wurde speziell für angularJS-Anwendungen entwickelt. Wenn Ihre Anwendung also mit AngularJS erstellt wurde, wird Ihnen der Winkelmesser helfen, da er Unterstützung für die Seitenladung und Aktionen von AngularJS bietet.

Wenn Ihre Anwendung nicht auf Angular basiert, können Sie Selenium WebDriver zusätzlich zu anderen bevorzugten Sprachen verwenden.

Selenium bietet Benutzern eine Dokumentation zur Verwendung von Python als Medium zum Schreiben von Tests. Lesen Sie mehr dazu hier .

    
Tom Nijs 01.05.2015 10:30
quelle
5

In Java gibt es bereits eine Bibliothek zur Automatisierung von Angular-Objekten. Sein auf Proctor basierender Aufbau nennt sich " ngWebDriver "

    
Manoj 07.03.2016 04:50
quelle
3

Protractor ist eine JS-Bibliothek, so dass Sie sie nicht in Java ausführen können und das Testen von Angular-Apps ohne Winkelmesser schwierig ist, da Ihr Testcode auf den Abschluss von Angular-Prozessen warten muss, bevor Interaktionen wie Klicken auftreten.

Glücklicherweise hat es Angular erleichtert, zu erkennen, wann die Verarbeitung abgeschlossen ist.

Es gibt eine JS-Funktion, die einen Rückruf annimmt und Sie benachrichtigt, sobald der Angular bereit ist.

%Vor%

HINWEIS: Das funktioniert mit Angular 1.4.8. Einige andere Versionen von Angular haben eine andere Methode, die ähnlich ist.

Sie können die Testbarkeitsmethode aus Ihrem Java-Testcode mit der folgenden einfachen Methode oder ähnlichem aufrufen.

%Vor%

Rufen Sie waitForAngular () auf, bevor Sie mit dem Treiber mit einer Methode wie click interagieren.

Vielleicht möchten Sie einen anderen rootSelector von 'body' und Sie möchten vielleicht einen Fehler werfen, wenn angular nicht existiert, aber das funktioniert gut für meine Bedürfnisse.

Der Winkelmesser bietet andere Selektoren, die das Testen einer Angular-App erleichtern, aber ich benutze ID- und Klassenselektoren, sodass ich sie nicht brauche.

    
Scott Boring 17.01.2016 18:05
quelle
3

Um etwas zu Toms Antwort oben hinzuzufügen, können Sie sogar nicht eckige Apps / Webseiten mit Protractor testen. Aber es gibt immer noch keine Möglichkeit, Sie können mit Java oder Python Progractor-Tests schreiben, da der Kern von Protractor auf Javascript (node.js) basiert und reines Javascript ist. Hoffe es hilft.

    
Girish Sortur 05.08.2015 12:11
quelle
2

Ab 2017 habe ich diese Protractor-Bibliotheken für Java gefunden:

  • jProtractor - Die Entwicklung ist etwas inaktiv, aber ich habe es getestet, um zu funktionieren. Klicken Sie hier für weitere Details.
  • ngWebDriver - Entwickelt von Paul Hammant (Mitbegründer von Selenium). Derzeit in aktiver Entwicklung mit guter Dokumentation.

Code-Snippet:

%Vor%     
silver 02.08.2017 11:30
quelle
1

Der beste Weg, Winkelmesser zu verwenden, ist, wenn Sie Winkelmesser-Tests haben, die separat in Javascript geschrieben sind, und diese Tests von java / python aufrufen, wenn sie benötigt werden. Das machen wir gerade!

    
Sandy s 07.10.2015 14:17
quelle

Tags und Links