We are using the Robot Framework for quite some time now for our automated acceptance tests with very good results. Personally I am using the Robot Framework already for a bit longer time and I find its fundametal concepts really extremely convincing. The generic test libraries (for example related to testing Selenium or SSH) that are freely available are another strength of the tool. But up to now a generic keyword library for testing databases was missing. I think I have written such a library already three times for two different companies, because at the end of the day almost every application is using a database. This means that automated tests should – at least random – check if data is properly written to the database. This way an application can be really tested end-to-end .
This was leading to the idea to implement such a generic Database Library as part of the Robot Framework project. I had already collected enough experience 😉 and thus the main problem was to find a start with this. Luckily Google Code makes it really easy to start development. And after Pekka encouraging me that it is fine to write such a library using Java, well, I just started.
Yesterday evening now the release 1.0 of the Database Library was finished and it is of course really great that it is already listed on the Robot Framework homepage. As with every project the interesting part starts when people start using it and I am looking forward to feedback for additional features. And with Fabian one of my colleagues joined the project as an additional committer. This way we are well prepared for further development and potential bugfixing.
The implementation of the database-access is based on JDBC, which really feels like an anachronism nowadays as we are used to Hibernate and JPA. But for this library it fits perfectly fine and the possibility to support different databases by their (class)names makes is very easy to support various different databases. And thanks to HyperSql everything can be perfectly tested using JUnit.
Of course there are already ideas for further development. Here especially the support for the Robot Framework Remote Library is very interesting as it allows to distribute the execution of test libraries on different servers.