Ok. Some more popular tools for functional testing web applications include
jWebUnit and
Selenium. The jWebUnit library lets you
simulate a web browser hitting your application and gives you a lot of power in terms of assertions etc. The downside with jWebUnit is that it only simulates a browser and might not support all of the JavaScript that your HTML pages rely on. Selenium, on the other hand, drives an actual web browser by feeding snippets of JavaScript to it, essentially making the actual web browser hit your application. The benefit is that you don't have to worry about the testing tool not supporting a specific JavaScript feature you're using. The downside is that you don't have as much power in terms of assertions as you'd have with a simulation-based approach (although the "RC" mode of Selenium is already much better than having "just" JavaScript-based assertions).