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.
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 .
In Java gibt es bereits eine Bibliothek zur Automatisierung von Angular-Objekten. Sein auf Proctor basierender Aufbau nennt sich " ngWebDriver "
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.
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.
Ab 2017 habe ich diese Protractor-Bibliotheken für Java gefunden:
Code-Snippet:
%Vor%Tags und Links java protractor