We have got our functional testsuite working. It currently consists of more than 260 tests doing everything from the simple login to running recorded WebDAV tests and restarting Websphere etc.
We’ve done it in the way that Testing Extreme Programming prescribes, with collection of methods that are implemented both remotely and locally, running the servlets in-process. The methods are pretty high-level for a very high degree of usability.
We’ve used HtmlUnit as the basis of our tests, extending it in the high-level methods. It is a great package as it tests the JavaScript too, as opposed to recorded tests that only tests the servers response to a given HTTP request.