© Excellent backgrounds/Shutterstock.com
Java Magazin
Teil 2: Das Robot Framework implementiert in Java

Robot meets Java

Komplexe Abläufe in einfache Keywords für Keyword-driven Testing zu verpacken, ist nicht einfach. Ziel muss es sein, dem Benutzer anwenderfreundliche Keywords zur Verfügung zu stellen. Komplexe Keywords können im Robot Framework schnell unübersichtlich werden. Und das beeinträchtigt Wartbarkeit und Benutzbarkeit. Aus diesen Gründen bietet es sich an, die Strukturen in Java abzubilden. Als Bonus erhält man noch einen Schutz vor unbefugten Änderungen an der Implementierung der Keywords.

Michael Stadler, Maik Bachmann


ArtikelserieTeil 1: Automatisierte Tests mit dem Robot FrameworkTeil 2: Das Robot Framework implementiert in Java

Bei der Implementierung des Robot Frameworks in Java gibt es verschiedene Anforderungen an die Architektur, wie das Vereinen von verschiedenen Wissensständen, Zugriffskontrolle auf sensible Teile der Software sowie einen hohen Grad an Flexibilität. Betrachten wir nochmal das Schraubenzieherbeispiel aus dem ersten Teil des Artikels. Gehen wir nun davon aus, dass die Kommunikation mit dem Testobjekt über eine Netzwerkschnittstelle erfolgt. Die Dokumentation des Application Programming Interface (API) ist rudimentär vorhanden. Sie ermöglicht das Setzen und Lesen von Werten. Um die Implementierung unserer Keywords durchführen zu können, müssen wir einen direkten Einblick in die Software des Schraubenziehers haben. Somit betreiben wir kein Blackbox Testing, sondern ein Greybox Testing. Um die genannten Forderungen an die Einfachheit der Keywords umzusetzen, teilen wir die benötigten Komponenten in eigene Projekte auf. Durch diesen simplen Schritt können wir für Zugriffskontrolle und eine hohe Flexibilität sorgen. Damit sind wir in der Lage, neue Keywords hinzuzufügen, bestehende zu verändern, zu erweitern oder grundlegende Kommunikationsstrukturen zu verändern.

Java und das Robot Framework

Die Implementierung der Keywords in einer Java-Klasse und die Integration dieser im Robot Framework bilden die Verbindung zwischen diesen beiden Komponenten. Bei der Ausführung eines Robot-Skripts verwendet das Robot Framework die dem Keyword entsprechende Funktion. Dazu muss beim Starten der Robot-Framework-JAR-Datei mithilfe des Classpath-Imports jede Keyword-definierende JAR-Datei angeben werden (Listing 1). Ebenfalls ist in Listing 1 der generelle Aufruf der Java-Version des Robot Frameworks mit den gängigsten Parametern zu sehen. Alle JAR-Dateien werden dabei über den Parameter cp importiert. Eine bereits gepackte JAR-Datei für eine bestimmte Robot-Framework-Version lässt sich direkt von der Webseite herunterladen [1].

Listing 1: Bash-Befehl zum Starten des Java Robot FrameworksFOLDER_NAME="NameOfTheTestToExecute"# put the java call togetherjavaCall="java -cp robotframework-3.0.jar:keywords.jar org.robotframework.RobotFramework testVariables -C ansi --outputdir ${FOLDER_NAME} testName"

Um die Java Keywords letztendlich verwenden zu können, muss zusätzlich zum Import der JAR-Dateien an einer beliebigen Stelle im ausgeführten Robot-Skript die Main-Methode (Klas...

Java Magazin
Teil 2: Das Robot Framework implementiert in Java

Robot meets Java

Komplexe Abläufe in einfache Keywords für Keyword-driven Testing zu verpacken, ist nicht einfach. Ziel muss es sein, dem Benutzer anwenderfreundliche Keywords zur Verfügung zu stellen. Komplexe Keywords können im Robot Framework schnell unübersichtlich werden. Und das beeinträchtigt Wartbarkeit und Benutzbarkeit. Aus diesen Gründen bietet es sich an, die Strukturen in Java abzubilden. Als Bonus erhält man noch einen Schutz vor unbefugten Änderungen an der Implementierung der Keywords.

Michael Stadler, Maik Bachmann


ArtikelserieTeil 1: Automatisierte Tests mit dem Robot FrameworkTeil 2: Das Robot Framework implementiert in Java

Bei der Implementierung des Robot Frameworks in Java gibt es verschiedene Anforderungen an die Architektur, wie das Vereinen von verschiedenen Wissensständen, Zugriffskontrolle auf sensible Teile der Software sowie einen hohen Grad an Flexibilität. Betrachten wir nochmal das Schraubenzieherbeispiel aus dem ersten Teil des Artikels. Gehen wir nun davon aus, dass die Kommunikation mit dem Testobjekt über eine Netzwerkschnittstelle erfolgt. Die Dokumentation des Application Programming Interface (API) ist rudimentär vorhanden. Sie ermöglicht das Setzen und Lesen von Werten. Um die Implementierung unserer Keywords durchführen zu können, müssen wir einen direkten Einblick in die Software des Schraubenziehers haben. Somit betreiben wir kein Blackbox Testing, sondern ein Greybox Testing. Um die genannten Forderungen an die Einfachheit der Keywords umzusetzen, teilen wir die benötigten Komponenten in eigene Projekte auf. Durch diesen simplen Schritt können wir für Zugriffskontrolle und eine hohe Flexibilität sorgen. Damit sind wir in der Lage, neue Keywords hinzuzufügen, bestehende zu verändern, zu erweitern oder grundlegende Kommunikationsstrukturen zu verändern.

Java und das Robot Framework

Die Implementierung der Keywords in einer Java-Klasse und die Integration dieser im Robot Framework bilden die Verbindung zwischen diesen beiden Komponenten. Bei der Ausführung eines Robot-Skripts verwendet das Robot Framework die dem Keyword entsprechende Funktion. Dazu muss beim Starten der Robot-Framework-JAR-Datei mithilfe des Classpath-Imports jede Keyword-definierende JAR-Datei angeben werden (Listing 1). Ebenfalls ist in Listing 1 der generelle Aufruf der Java-Version des Robot Frameworks mit den gängigsten Parametern zu sehen. Alle JAR-Dateien werden dabei über den Parameter cp importiert. Eine bereits gepackte JAR-Datei für eine bestimmte Robot-Framework-Version lässt sich direkt von der Webseite herunterladen [1].

Listing 1: Bash-Befehl zum Starten des Java Robot FrameworksFOLDER_NAME="NameOfTheTestToExecute"# put the java call togetherjavaCall="java -cp robotframework-3.0.jar:keywords.jar org.robotframework.RobotFramework testVariables -C ansi --outputdir ${FOLDER_NAME} testName"

Um die Java Keywords letztendlich verwenden zu können, muss zusätzlich zum Import der JAR-Dateien an einer beliebigen Stelle im ausgeführten Robot-Skript die Main-Methode (Klas...

Neugierig geworden?


    
Loading...

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