I've been playing with Selenium at work for some time now and the more I saw of it the testing framework the more I was impressed.

You start out by creating some testcases in Selenium IDE which is a Firefox add-on. It mostly involves recording stuff you do on a website followed by fine-tuning and adding checks if everything works as expected.

After that you export your tests to a language of your choice (Java, Python, Ruby, etc.) and now can fine-tune even more since now you have a real programming language at your disposal.

Then all that's left to do is fire up the Selenium server (written in Java) on some machine enter its address to your test and let it do its magic. From what I understand the server takes care to start instances of the chosen browser, injects the needed JavaScript and (if desired) acts as a proxy for all tests.

It's really fun to watch how browser instances get spawned and do their work, bound by high magic. And all that while being tremendously useful. Highly recommended.