© Teguh Jati Prasetyo/Shutterstock.com
Teil 2: Testautomation am Beispiel Angular-spezifischer Direktiven

Testautomation mit Protractor


Die komplexen Funktionen und die asynchrone Verarbeitung von AngularJS-Anwendungen sind schwer mit traditionellen Methoden wie Unit- und Integrationstests zu testen. Hier kommen End-to-End-Tests ins Spiel, die Tests über das GUI ausführen. Für AngularJS ist Protractor das Maß aller Dinge im Bereich Testautomation von End-to-End-Tests. Diese dreiteilige Artikelserie beschäftigt sich mit der Testautomation von AngularJS-Anwendungen mit dem Testframework Protractor.

Protractor ist eine Node.js-Anwendung und wird mit dem Node Package Manager über den Befehl npm in­stall -g protractor installiert. Um eine AngularJS-Anwendung wie ein Anwender aus Fleisch und Blut steuern zu können, verwendet Protractor unter anderem Selenium-Server und WebDriverJS. In der Protractor-Installation ist das Tool webdriver-manager enthalten, mit dem der Selenium-Server administriert werden kann. webdriver-manager update installiert alle notwendigen Selenium-Komponenten (Server, WebDriverJS, Chromedriver ...) bzw. führt ein Upgrade auf die aktuellste Version durch, wenn bereits eine Selenium-Installation am System vorhanden ist. Gestartet wird der Selenium-Server mit dem Befehl webdriver-manager start im Terminalfenster.

Automatisierte Tests für Protractor werden im BDD-Format in Test-Suites spezifiziert, wobei eine Testsuite einen oder mehrere Tests enthält. Jede Testsuite wird in einer sogenannten Testspecification (Testspec) gespeichert und von einem BDD-Framework wie zum Beispiel Jasmin ausgeführt. Protractor orientiert sich bei der Durchführung an einer Konfigurationsdatei, die standardmäßig den Namen config.js trägt. In der Minimalvariante sieht die Datei wie folgt aus:

exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', specs: ['checkHTMLTitle-spec.js'], };

Mit seleniumAddress wird die Adresse des Selenium-Servers definiert. Der Server muss zum Zeitpunkt der Testdurchführung bereits gestartet sein. specs gibt den Namen der Specs an, die gestartet werden sollen. Es kann ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang