Wir setzen das Robot Framework seit geraumer Zeit für automatisierte Softwaretests in unseren Projekten ein. Außerdem beschäftigen sich ein paar meiner Kollegen mit der NoSql Datenbank MongoDB (Tutorial über MongoDB ). Die Dokumenten-Management-Lösung Center-Device (Start-Up-Unternehmen der Codecentric AG) setzt ebenfalls im Back-End auf MongoDB (Center-Device Architektur-Überblick ). Da dachte ich mir: Es ist Zeit für eine neue Robot-Library: robotframework-mongodblibrary . Die Version 0.2.1 steht als download auf GitHub bereit (Keyword-Dokumentation ).
Die Bibliothek ist in Java (Jython) geschrieben und verwendet intern den MongoDB Java Treiber. Das Programmieren der Library war trotz geringer Vorerfahrung dank der guten MongoDB-Dokumentation sehr einfach 🙂
Der erste Robot-Test
Robot Remote Library
Auch die Robot-Remote-Bibliothek ist schon mit an Board 🙂 Dann kann man die Bibliothek auch als eigenen Server starten. Sehr nüzlich, wenn man beispielsweise den Haupt-Test mit Python anstatt Jython starten möchte.
vor der Testausführung muß natürlich noch der Server gestartet werden:
MongoDB-Server Embedded
Ein neues Feature seit der Version 0.2 ist das Starten eines MongoDB-Servers (in einer bestimmten Version) innerhalb der Tests , hierfür wird die Embedded MongoDB Bibliothek verwendet. Das Keyword lädt den Server von der MongoDB-Seite herunter, entpackt diesen ins Home-Verzeichnis und startet anschließend den MongoDB-Daemon in einem eigenen Betriebssystem-Prozess (MongoDB ist in C++ geschrieben). Beim Beenden der Test-Suite sollte das Keyword Shutdown Embedded verwendet werden, um die Datenbank sauber herunterzufahren.
Der Hauptvorteil der Server-Integration liegt in der Übersichtlichkeit der Robot-Logdateien, die MongoDB-Logmeldungen werden direkt ins Robot-Log geschrieben und können so dem jeweiligen Keyword zugeordnet werden:
Verwendung in anderen Test-Frameworks
Die Bibliothek hat keinerlei Abhängigkeiten zum Robot-Framework und kann deswegen auch in anderen Test-Frameworks (z.B. Junit , JBehave ) verwendet werden. Hierfür gibt es eine Download-Version ohne Abhängigkeiten .
Viel Spaß mit der Bibliothek 🙂
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Blog-Autor*in
Max Hartmann
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.