In the distant past I worked for a company where our team had built its own in house testing tool in which allowed our software testers to write their own automated acceptance testing scripts in Ruby (using a custom DSL) which in turn would drive Selenium. I really liked this little tool because it was a standalone piece of software that allowed just about anyone to test our application on their own workstation without the need for access to the application’s source code. Unfortunately it was in certain ways rather specific to our product, and its source code was never released as open source.
Several times in the past years have I tasked myself to rebuild this experience into a generic open source tool (because of its use and because I thought it would make for an entertaining side project). Unfortunately I just never got around to making it happen… until now. While its still in it’s infancy I am very proud to present TestPilot.
TestPilot is a Java Swing GUI application that runs JRuby scripts to perform acceptance tests. Instead of inventing a custom DSL to drive Selenium it uses Capybara to do so. If you want to give TestPilot take a look at the project’s README.
TestPilot would not have been so easily possible without the many awesome open source projects that it utilizes, so here’s a big thank you to everyone that works on open source! 🙂
If you have taken a serious look at TestPilot you’ll see that only the basic elements are there (writing and running tests and adding your own customizations like custom functions), here are some of the things (in random order) that I intend to add on in the future:
- A better editor with syntax highlighting (maybe with the use of https://github.com/bobbylight/RSyntaxTextArea)
- Output windows for the Ruby interpreters STDOUT and STDERR
- Logging of test results (and making screenshots of failures)
- Running with browsers other than Firefox
- Run the scripts in its own thread so the UI isn’t blocked while the scripts run