Solution? Cache the selenium object! This will reuse the same Firefox session between tests so you only get slammed by the startup cost once. Now my 7 tests run in 8 seconds, the time to start up Firefox. That's awesome!
Will reusing the same Firefox process cause a problem? Unlikely. When I test web sites, with or without Selenium, I sure don't restart Firefox between checks. And neither will your users, so this is far more realistic. Web browsers are designed to isolate page requests from one another.
The prototype works. Future directions...
* Roll selenium-server into the distribution.
* Automate starting the selenium server.
* Add a config file...
* Which browser(s) to use?
* Which selenium server to use, or start its own?
* What file extensions to test with selenium?
* Rerun tests across multiple browsers
* Turn the HTML wrapper into a configurable template
* Make it play nice with prove.
* Turn it into something which can be used with --exec
* Turn it into something which can be put into
* Modularize it
* Figure out how to keep the Firefox process from appearing
* Or at least run backgrounded