Today, after a week battling Perl, Java, Selenium, crontabs, virtual roots and vm's, I finally have a fairly decent working solution for automated regression testing.
Where did it start?
I was handed a legacy web app in Perl which came with *NO* testing whatsoever and asked to add some new features. How were we supposed to know if a new feature broke any old ones? We'd hear it from users.
That wasn't a good situation so I set about to bolt on some regression testing. It took longer than anticipated but it's good for the overall health of the app so I can rationalize the time spent.
I had previously used Selenium RC for a Catalyst project so I knew the power of Selenium and decided to go with it as part of a toolkit for my test suite.
Where has it ended?
In the last week, I've been able to...
- Brush up on my Perl and 'NIX IPC skills only to wind up wrapping the Selenium RC (Java) server with some Perl for starting and stopping it based on a PID file
- Make use of the chrome experimental browser to get around cross-site permission issues (
Permission denied to get property Location.href)
- Configure a crontab to autostart and run correctly in a virtual root, making it possible to automate the testing process and send the output of
provestatements to myself on a periodic basis.
Does Michael Phelps feel this good?