Protractor: Ende des Lebenszyklus im August 2023. Was Sie wissen müssen

Über Protractor

Protractor ist ein beliebtes End-to-End-Test-Framework, das speziell für AngularJS-Anwendungen entwickelt wurde. Es wurde 2013 von einem Team bei Google erstellt und als Open Source veröffentlicht. Protractor wird von Entwicklern und Testern weit verbreitet für die automatisierte Webanwendungstestung verwendet. Zu dieser Zeit waren WebDriver-APIs noch nicht standardisiert, und End-to-End (E2E)-Tests waren aufgrund fehlender Unterstützung für async/await schwer zu schreiben. Um dieses Problem zu lösen, umhüllt Protractor einen Selenium-Webtreiber und abstrahiert asynchrone Vorgänge von Entwicklern mithilfe von Control Flow. Protractor brachte Vorteile für die Testung von AngularJS-Anwendungen mit sich. Google empfahl es als primäres Test-Framework. Einige wichtige Vorteile waren:

  • Einfache Einrichtung der Umgebung und schneller Einstieg in das Schreiben von Tests.
  • Es unterstützt einige der verknüpften Lokatoren von Angular, wie z.B. ‚by.model‘, ‚by.repeater‘, usw. Dieser Ansatz ermöglicht es uns, Elemente mit minimalem Aufwand bei der Entwicklung schnell zu finden. Gleichzeitig sind auch nativen Lokatoren wie XPath, CSS, usw. verfügbar, z.B. für bestimmte spezifische Fälle.
  • Protractor verfügt über integrierte Wartezeiten (Waiters) und Erwartungen (Expectations). Die Entwicklung von Tests war recht einfach, insbesondere für Angular v. 1.x.x (AngularJS), ohne zusätzliche Pausen, Wartezeiten, etc.
  • Es unterstützt Jasmine, das gleiche Framework, das die Leute für das Schreiben von AngularJS-Unit-Tests verwendet haben.
  • Es unterstützt JavaScript (die gleiche Sprache, die die Leute für das Schreiben von AngularJS-Anwendungen verwendet haben).

Ende des Lebenszyklus von Protractor:

Allerdings kündigte das Angular-Team im April 2021 an, dass sie die Entwicklung und Unterstützung von Protractor bis Ende 2022 einstellen würden (in Verbindung mit Angular v15). Als Folge wird Protractor im August 2023 sein Ende des Lebenszyklus erreichen und wird keine weiteren Aktualisierungen oder Fehlerbehebungen mehr erhalten.

Warum Protractor eingestellt wurde:

Das Angular-Team erklärte, dass die Entscheidung, Protractor einzustellen, auf mehreren Faktoren beruhte, wie zum Beispiel:

  • Die Weiterentwicklung von Webentwicklungs- und Testtechnologien, die die Fähigkeiten von Protractor übertroffen haben. Angular 2 wurde eingeführt, das sich erheblich von AngularJS unterscheidet.
  • Das Erscheinen neuer Testwerkzeuge und Frameworks, die mehr Funktionen und Flexibilität bieten als Protractor.
  • Das Feedback aus der Angular-Community, das eine Vorliebe für andere Testlösungen gegenüber Protractor zeigte.
  • Die Unterstützung und technischen Schulden von Protractor, die es schwierig machten, mit den sich ändernden Bedürfnissen der Benutzer Schritt zu halten.

Das Angular-Team erklärte auch, dass sie ihre Bemühungen darauf konzentrieren wollten, das Kern-Angular-Framework zu verbessern und andere Testinitiativen zu unterstützen, wie zum Beispiel Komponentenharnische.

Protractor Was sollten Sie jetzt tun?

Wenn Sie derzeit Protractor für Ihre End-to-End-Tests verwenden, fragen Sie sich vielleicht, was das Ende des Lebenszyklus für Sie und Ihre Projekte bedeutet. Hier sind einige mögliche Szenarien und Auswirkungen:

  • Wenn Sie mit Protractor zufrieden sind und keine neuen Funktionen oder Updates benötigen, können Sie versuchen, es weiterhin zu verwenden. Sie sollten jedoch wissen, dass Protractor möglicherweise nicht gut mit neueren Versionen von Angular oder anderen Webtechnologien funktioniert und Sie auf Fehler oder Probleme stoßen könnten, die nicht behoben werden. Die neueste Protractor-Version, 5.4.3, wurde im Januar 2020 veröffentlicht.
  • Wenn Sie Protractor über August 2023 hinaus verwenden möchten, können Sie nach alternativen Unterstützungsoptionen suchen, wie zum Beispiel bei Drittanbietern oder Community-Forks. Zum Beispiel bietet HeroDevs einen Service für kontinuierliche Unterstützung von Protractor an, der verspricht, Updates, Fehlerkorrekturen und Sicherheitspatches für Protractor unbegrenzt bereitzustellen.
  • Tatsächlich gab es bereits Vorschläge, Protractor bereits 2020 nicht mehr zu verwenden. Es gibt viele Testautomatisierungslösungen auf dem Markt, jede mit ihren Vor- und Nachteilen. Einige der beliebten Lösungen sind Nighwatch.js, Cypress, Playwright, TestCafe und WebDriverIO. Jetzt ist der richtige Zeitpunkt, um auf eine dieser Lösungen umzusteigen.

Wie wählt man ein neues Testwerkzeug oder Framework aus?

Die Auswahl eines neuen Testwerkzeugs oder Frameworks kann eine einschüchternde Aussicht sein, besonders wenn Sie eine große Anzahl von Tests in Protractor geschrieben haben. Es kann einige Zeit in Anspruch nehmen. Dennoch können einige Kriterien Ihnen helfen, Ihre Auswahl einzugrenzen und die beste Lösung für Ihre Bedürfnisse zu finden. Einige dieser Kriterien sind:

  • Kompatibilität: Das neue Werkzeug oder Framework sollte mit Ihren bestehenden Webtechnologien kompatibel sein, wie z.B. Angular, TypeScript, Node.js, React usw. Es sollte auch die Browser und Plattformen unterstützen, die Sie testen müssen.
  • Funktionen: Das neue Werkzeug oder Framework sollte die Funktionen bieten, die Sie für Ihre End-to-End-Tests benötigen, wie intelligente Elementlokalisierungen, automatische Wartezeiten, parallele Ausführung, Berichterstellung, Debugging usw.
  • Benutzerfreundlichkeit: Das neue Werkzeug oder Framework sollte einfach zu verwenden und zu erlernen sein. Es sollte eine klare und intuitive Syntax und API haben. Es könnte auch einen reibungslosen Migrationspfad von Protractor haben, z.B. durch Code-Konverter oder Anleitungen.
  • Leistung: Das neue Werkzeug oder Framework sollte eine schnelle und zuverlässige Leistung bieten. Es sollte Ihre Tests schnell und konsistent ausführen. Es sollte auch eine geringe Auswirkung auf die Leistung und den Ressourcenverbrauch haben.
  • Unterstützung: Das neue Werkzeug sollte über eine Community oder ein Support-Team verfügen, das aktuelle Fehlerkorrekturen oder neue Versionsveröffentlichungen bereitstellt. Klare Dokumentation.

 Zusammenfassend

Protractor ist ein bekanntes und weit verbreitetes End-to-End-Testwerkzeug für AngularJS-Anwendungen. Aufgrund der Weiterentwicklung von Angular hat es an Bequemlichkeit verloren. Es ist bekannt, dass es im August 2023 sein Ende des Lebenszyklus erreichen wird und von diesem Zeitpunkt an keine Entwicklung oder Unterstützung mehr vom Angular-Team erhalten wird. Das bedeutet, dass Nutzer von Protractor nach alternativen Unterstützungsoptionen suchen müssen oder besser auf ein anderes Testwerkzeug oder Framework umsteigen sollten. Es gibt viele Faktoren zu berücksichtigen, wenn man eine neue Testlösung auswählt, wie Kompatibilität, Funktionen, Benutzerfreundlichkeit, Leistung und Unterstützung. Die Nutzer sollten ihre Optionen sorgfältig evaluieren und ihre Migration entsprechend planen.

Kontakt
Kontakt



    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert